Использование jQuery в расширении Chrome: загрузка в фоновом режиме, доступ во всплывающем окне - PullRequest
4 голосов
/ 15 апреля 2011

Я создаю PageAction Расширение Chrome с всплывающим окном и сценарием содержимого .

Я хочу использовать jQuery во всплывающем окне, чтобы манипулировать его DOM для представления данных (которые я собираю с самого сайта, используя jQuery, внедренный в качестве скрипта контента). Я знаю, что могу загрузить jQuery непосредственно в popup.html и использовать его. Однако я хотел посмотреть, смогу ли я загрузить jQuery только один раз на фоновой странице и получить к нему доступ во всплывающем окне, а не загружать его при каждом открытии всплывающего окна.

Для этого я попробовал следующее во всплывающем окне:

var background = chrome.extension.getBackgroundPage();
var $ = background.jQuery;
$("#testID").innerHTML = "testing jQuery";

но это не сработало - $("#testID") не было определено. Я проверил, что jQuery был загружен на фоновой странице и использовал альтернативные имена для $, например jq, jQuery и т. д. тоже не работали.

Какие-нибудь предложения о том, как заставить это работать?

1 Ответ

3 голосов
/ 15 апреля 2011
$("#testID", document).html("testing jQuery");

Я не думаю, что есть способ изменить контекст по умолчанию, поэтому вам нужно будет передать document в качестве второго параметра всем вашим селекторам.

...