我正在开发Chrome扩展程序。
我的问题是,当我致电chrome.alarms.create()
时,我收到以下错误:
Uncaught TypeError: Cannot read property 'create' of undefined
我在扩展程序包中有这些文件:
的manifest.json
{
"manifest_version": 2,
"name": "Tool",
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"permissions": ["background", "tabs", "webNavigation", "alarms"]
}
myscript.js
chrome.alarms.create("aaa", {"when":Date.now()+5000});
chrome.alarms.onAlarm.addListener(function(alarm){
console.log("hello");
});
background.js
chrome.pageAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "myscript.js"});
});
当我在chrome.alarms.create()
中拨打background.js
时,它运行正常。
但是,当我在myscript.js
中调用该函数时,会导致错误。
原因是什么以及如何解决此问题?
答案 0 :(得分:4)
您无法从内容脚本访问大多数Chrome API。您需要使用Messaging API将消息发送到后台页面,然后可以调用Alarms API。
https://developer.chrome.com/extensions/messaging https://developer.chrome.com/extensions/content_scripts