Я создаю расширение Chrome, которое добавляет тег script
на страницу, а затем использует код, определенный в этом внешнем сценарии:
$('body').append('<script src="..."></script><script>console.log(SomeObject)</script>');
SomeObject
определено во внешнем сценарии,так что я должен иметь возможность получить к нему доступ, верно?Ну, я не могу, так как получаю «неопределенную» ошибку.
Я даже пытался использовать head.js
для загрузки внешнего скрипта и выполнения функции после загрузки скрипта, но безрезультатно.
Если я открою консоль Chrome, я смогу получить доступ к проклятому объекту очень хорошо !!!
Я пробовал и скрипт содержимого, и executeScript
на фоновой странице, но безрезультатно.В обоих случаях, если я использую console.log(window)
, я могу осмотреть объект window
в консоли, а SomeObject
нигде не найти.Если я проверю объект window
на консоли Chrome, то он окажется там!
Вставлены ли как-то песочницы в инъекционные сценарии или что дает?
Спасибо!