#javascript #firefox #firefox-addon #firefox-addon-webextensions
#javascript #firefox #firefox-дополнение #firefox-дополнение-webextensions
Вопрос:
Итак, я следовал приведенному здесь руководству:https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension
Где вы создаете простое расширение, которое изменяет DOM, вводящий скрипт.
Но затем я добавил эти строки на borderify.js (сценарий содержимого) :
console.log(window); //Prints an object that has a "$" property;
console.log(window.$); //Undefined
console.log($); //Error, "$" is undefined
А затем я включил его на веб-сайте, который, как я знал, содержал jQuery в тегах скрипта.
Что меня очень смущает, почему, когда я печатаю объект window, он показывает мне объект, у которого есть свойство $ , но затем я пытаюсь получить к нему доступ, он не существует?
И как мне получить к нему доступ?
Есть несколько похожих вопросов, но все они очень старые, и это быстро меняющаяся тема.
(Пожалуйста, обратите внимание, что это не связано с jQuery, это просто пример)
Ответ №1:
Возможно, вам захочется прочитать о совместном использовании объектов со скриптами страниц в MDN, особенно предупреждение!
Это должно сработать для вашего варианта использования:
console.log(window.wrappedJSObject.$)