在Chrome扩展程序中使用jQuery:在后台加载,在弹出窗口中访问

时间:2011-04-14 23:33:50

标签: jquery background popup google-chrome-extension

我正在使用弹出窗口和PageAction制作content script Chrome扩展程序。

我想在弹出窗口中使用jQuery来操作它的DOM来呈现数据(我使用jQuery作为内容脚本注入来从网站本身抓取)。我知道我可以直接在popup.html中加载jQuery并使用它。但是,我想看看我是否只能在后台页面中加载jQuery并在弹出窗口中访问它,而不是每次打开弹出窗口时都加载它。

为此,我在弹出窗口中尝试了以下内容:

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

但它不起作用 - $("#testID")未定义。我检查了jQuery是否在后台页面中加载,并使用$的替代名称,例如jq,jQuery等也没有用。

有关如何使这项工作的任何建议?

1 个答案:

答案 0 :(得分:3)

$("#testID", document).html("testing jQuery");

我认为没有办法永久更改默认上下文,因此您需要将document作为第二个参数传递给所有选择器。