的manifest.json
{
"manifest_version": 2,
"name": "App name",
"description": "Description goes here",
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"permissions": [
"tabs",
"alarms"
],
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
}
}
我试图创建一个函数,使每个分钟的弹出窗口“很棒”:
chrome.alarms.onAlarm.addListener(function(){
alert('great');
});
有人可以告诉为什么它不会触发警报。我检查控制台,没有显示错误。感谢。
答案 0 :(得分:17)
这是我能想到的最简单的工作示例,警告它非常烦人,因为当警报开启时,它会每隔12秒发出一次“哔”声。它使用弹出浏览器操作来打开和关闭闹钟。
的manifest.json
{
"manifest_version": 2,
"name": "Alarm test",
"description": "This extension alarms.",
"version": "1.0",
"permissions": [
"alarms"
],
"background": {
"scripts": ["eventPage.js"],
"persistent": false
},
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
}
}
popup.html
<!doctype html>
<html>
<head>
<title>Alarms Popup</title>
<script src="popup.js"></script>
</head>
<body>
<a href="" id="alarmOn">ON</a>
<a href="" id="alarmOff">OFF</a>
</ul>
</body>
</html>
popup.js
var alarmClock = {
onHandler : function(e) {
chrome.alarms.create("myAlarm", {delayInMinutes: 0.1, periodInMinutes: 0.2} );
window.close();
},
offHandler : function(e) {
chrome.alarms.clear("myAlarm");
window.close();
},
setup: function() {
var a = document.getElementById('alarmOn');
a.addEventListener('click', alarmClock.onHandler );
var a = document.getElementById('alarmOff');
a.addEventListener('click', alarmClock.offHandler );
}
};
document.addEventListener('DOMContentLoaded', function () {
alarmClock.setup();
});
eventPage.js中的重要部分
chrome.alarms.onAlarm.addListener(function(alarm) {
alert("Beep");
});
答案 1 :(得分:5)
您没有创建任何警报,因此不会触发onAlarm
事件。
使用chrome.alarms.create创建闹钟。注意:您应该在chrome.runtime.onInstalled事件中执行此操作。