gpt4 book ai didi

javascript - Google Chrome 扩展程序在特定时间发出警报

转载 作者:行者123 更新时间:2023-11-28 07:50:28 26 4
gpt4 key购买 nike

亲爱的开发者早上好,

我正在开发一个小型 Google Chrome 扩展,但我不确定这是否是正确的方法。也许我对所有的背景页面、事件页面、内容脚本等有点困惑。

这个扩展要做什么? 警报:操作当前打开的选项卡 CSS 并播放声音。时间总是一样的(无论您在美国、欧洲还是其他地方)。 这不是主要的事情。我使用了这种具有类似扩展的“架构”,但我必须做一些积极的事情(点击等)。这里的扩展完全在后台。

{
"manifest_version": 2,
"version": "0.1",
"name": "Alarm whatever",
"permissions": ["alarms"],
"icons": {
"16": "icon.png",
"48": "icon.png",
"128": "icon.png"
},
"content_scripts": [{
"js": ["jquery.js", "script.js"],
"matches": ["http://*/*", "https://*/*"]
}],
"background": {
"scripts": [ "background.js" ],
"persistent": false
}
}

背景.js

// When to ring
var now = new Date(), minutes = 50, seconds = 0;
var timestamp = new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), minutes, seconds);
var whenToRing = (timestamp.getTime() - now.getTime());

chrome.runtime.onMessage.addListener(function(request, sender, sendResponse){
if(request.action == 'createAlarm')
{
// Create
chrome.alarms.create('theAlarm', {
// Wann soll der Alarm gefeuert werden?
// Angabe in Millisekunden
when: whenToRing,
});
}
});

chrome.alarms.onAlarm.addListener(function(alarm) {
if (alarm.name === 'theAlarm')
{
// send a message to the script.js to manipulate the CSS and play sound
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {action: 'doAlarm'})
});
}
});

脚本.js

$(document).ready(function()
{
chrome.runtime.sendMessage({action: 'createAlarm'});

chrome.runtime.onMessage.addListener(
function(resp, sender, sendResponse) {

if(resp.action == 'doAlarm')
{
// CSS and SOUND here
}
});
});

我缩短了 CSS 和声音。将时间设置为当前小时来测试此扩展。

一些想法?谢谢!

最佳答案

老问题,但我认为答案很重要。

警报的创建看起来没问题。例如,如果您希望在上午 08:00 发生闹钟事件,我将采用以下方法计算 whenToRing。

var whenToRing = new Date().setHours(8);

关于javascript - Google Chrome 扩展程序在特定时间发出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26883915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com