我通过扩展程序加载了以下内容脚本 -
"content_scripts": [
{
"matches": ["https://blah.blah/*"],
"js": ["src/script/lib/jquery-1.8.3.min.js" ,
"src/script/Ext/Ext.ContentScript.js" ]
}
]
在内容脚本中,我有一个函数,它使用jquery的Ajax函数使用setInterval方法定期轮询服务器。
不久之后,只要调用该方法,setInterval方法中的函数就无法访问任何jquery操作。好像罪魁祸首是chrome.storage.local api。 回调无权访问其他内容脚本(在本例中为Jquery)
chrome.storage.local.get("savedData", function (userInfo) {
setInterval(function(){
//Fails to recognize the ajax method, throws "has not method ajax"
$.ajax({url:reqUrl,
success:function(data){
}
});
});
}
答案 0 :(得分:0)
当我尝试你的方案时,它对我有用
<强>的manifest.json 强>
{
"name": "",
"description": "",
"version": "1",
"manifest_version": 2,
"permissions": [
"<all_urls>"
],
"content_scripts": [
{
"matches": [
"https://www.google.co.in/*"
],
"js": [
"jquery.js",
"script.js"
]
}
]
}
<强>的script.js 强>
setInterval(function(){
$.ajax({
url: "http://www.w3schools.com/cssref/css_selectors.asp",
success:function (data){
console.log("Success..");
}});
},11000);
为什么不使用recursive setTimeout()
代替SetInterval()
?