我有一个使用的gmail扩展名,
内容脚本中的chrome.storage.local.set
个方法。
它可以很好地用于扩展,但是当扩展名关闭且打开或扩展名长时间不使用然后再使用时,它会显示类似
“错误:表单set()的调用与定义set(对象项,可选函数回调)不匹配”
获取代码
chrome.storage.local.set({ 'loggedinUser': $('.gb_Fb').html() });
当页面重新加载时,再次运行良好。我需要一种解决方案来解决此问题,而无需重新加载页面
编辑:我在asper @wOxxOm中的background.js中添加了以下代码,但仍显示相同的错误
var manifest = chrome.app.getDetails();
chrome.windows.getAll({populate:true},function(windows){
windows.forEach(function(window){
window.tabs.forEach(function(tab){
var url = tab.url;
if(url.indexOf('https://mail.google.com') > -1){
var scripts= manifest.content_scripts[0].js;
s = scripts.length;
for(var k = 0 ; k < s; k++ ) {
chrome.tabs.executeScript(tab.id, {
file: scripts[k]
});
}
}
});
});
});
也是内容脚本中的列表器
chrome.extension.onMessage.addListener(
function doListen(request){
chrome.extension.onRequest.removeListener(doListen);
if (request.data && request.types && request.types =='MESSAGE_COMPOSE') {
window.postMessage({ type: "MESSAGE_COMPOSE",email:request.data}, "*");
}
}
);