我正在使用谷歌Chrome扩展程序,我遇到了一个我自己无法解决的错误。
按预期在单个Youtube选项卡上切换到Youtube的暗模式,但如果您在Youtube上并且 Ctrl / Cmd 单击链接(在新选项卡中打开),{{1再次触发,当前选项卡变为白色,新选项卡显示为黑色。
如果您处于黑色标签中,“子”标签应自动变暗。
content.js
{
"manifest_version": 2,
"permissions": [
"https://www.youtube.com/*",
"activeTab"
],
"background": {
"scripts": ["background.js"],
"persistant": false
},
"browser_action": {
"default_title": "Engage Youtube Dark Mode."
},
"content_scripts": [
{
"matches": ["https://www.youtube.com/*"],
"js": ["content.js"]
}]
}
//var alreadyTriggered = false;
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "clicker.js"});
});
/*
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
alreadyTriggered = false;
});*/
chrome.runtime.onMessage.addListener(function(response, sender, sendResponse) {
//if (!alreadyTriggered) {
chrome.tabs.executeScript(null, {file: "clicker.js"});
//alreadyTriggered = true;
//};
return true;
});
我猜我错误地使用了var myDate = new Date();
if ((myDate.getHours() <= 7) || (myDate.getHours() >= 19))
{
var darkMode = document.body.getAttribute("dark");
if (!darkMode) {
chrome.runtime.sendMessage(window.location.href, function(result) {});
};
};
。任何帮助将不胜感激。谢谢!
activeTab
答案 0 :(得分:0)
最终为我工作的是使用以下组合:
使用window.onload = doStuff();
并确保darkMode
的值为null
,而不是undefined
。
希望这可以帮助那些无休止地调整代码的人。