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



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Возможно, вы захотите прочитать Совместное использование объектов с помощью скриптов страниц на MDN, особенно предупреждение!
Это должно работать для вашего варианта использования:
console.info(window.wrappedJSObject.$)