我无法从我的扩展程序的background.js脚本访问活动标签页(页面)的html代码
的manifest.json
"background": {
"scripts": ["jquery.js","background.js"]
},
background.js
chrome.webRequest.onBeforeRequest.addListener(
function(info) {
return {redirectUrl: "http://www.mysite.com/script.php?" +
"data=" + encodeURIComponent($('#J_Data').text())};
},
{
urls: [
"http://www.othersite.com/addItems.do*"
],
types: ["script"]
},
["blocking"]);
但是background.js无法访问活动页面html代码和“$('#J_Data')。text()”undefined! 如何使用background.js和jQuery访问活动页面?
答案 0 :(得分:1)
您正在后台脚本的上下文中执行jQuery,并且它无权访问页面本身。您将需要考虑使用chrome.tabs.executeScript或content scripts将代码注入您感兴趣的选项卡。如果有您感兴趣的链接,您可能需要做的是将脚本注入选项卡in,pass them to the background script并存储在tabIds / urls的临时索引中,并在onBeforeRequest监听器中包含和查询该索引。