Я пытаюсь использовать jsonp для извлечения встроенного твита (или нескольких, но давайте начнем с 1) из API Twitter. Я не могу просто использовать get из-за CORS, поэтому я пытаюсь использовать jsonp, чтобы он нормально работал на тестовой странице ...
Этот код работает и прекрасно встраивает код для вставки при запуске на веб-сайте .
function myJSCallback() {
console.log('called back');
}
var urlx = 'https://api.twitter.com/1/statuses/oembed.json?url=https://twitter.com/louisck/status/1209181253444030468';
$.ajax({
url: urlx,
type: 'GET',
jsonpCallback: 'myJSCallback',
dataType: 'jsonp',
jsonp: 'callback',
success: function (result) {
console.log(result.html);
}
});
Однако, если я запускаю этот точный код внутри расширения chrome, я получаю сообщение об ошибке.
Uncaught (в обещании) TypeError: Невозможно назначить для чтения только свойство 'undefined' объекта '#'
Если я запускаю его без обратного вызова, я получаю другую ошибку ...
фактическая ошибка: oembed. json? Url = https://twitter.com/JackPosobiec/status/1238074823651274752&callback=jQuery34101717550445740914_1584065740386&_=1584065740387: 1 Uncaught ReferenceError: jQuery34101717550445740914_1584065740386 не определено
Обе версии прекрасно работают, когда я запускаю их на обычном веб-сайте. Ни одна из них не работает, когда я запускаю их в расширении Google chrome. Я пытаюсь заполнить твиты на странице после ее загрузки. Просто не могу понять это.