jQuery代码注入不能在已经有jQuery的页面上工作

时间:2014-01-07 21:24:24

标签: jquery google-chrome-extension

我正在编写一个扩展,对标签A中对象的右键单击操作会影响标签B上的某些活动,标签B上有我控制的管理html页面。我已经成功地在页面B中注入了一些代码。本地使用jQuery并且我想在我的注入代码中使用jQuery,但是我收到以下错误:

未捕获的ReferenceError:未定义jQuery

我的扩展程序代码:

function AddAsinInTab(asin,tab) {

    chrome.tabs.executeScript(tab["id"], { code: 'jQuery("a").css("color","red");'});

}

管理页面A底部的相同代码在页面加载时工作正常:

<script>
    jQuery("a").css("color","blue");
</script>

1 个答案:

答案 0 :(得分:1)

您没有提供很多细节,但似乎您执行的脚本根本看不到页面中的jQuery文件。我会尝试加载jQuery以及程序注入。这样的事情可能会有所帮助(您的 jquery-1.10.2.min.js 文件应与您的扩展名在同一目录中):

chrome.tabs.executeScript(tab["id"], { file: "jquery-1.10.2.min.js" }, function() {
  chrome.tabs.executeScript(tab["id"], { code: 'jQuery("a").css("color","red");' });
});