gpt4 book ai didi

javascript - 带有弹出窗口的 Chrome 扩展 Onclick()

转载 作者:行者123 更新时间:2023-11-30 05:51:39 29 4
gpt4 key购买 nike

我想清理我的通知(徽章)。单击该图标时,应同时打开一个弹出窗口,但它不起作用。

它适用于选项卡,但我不想在选项卡上显示它应该在弹出窗口中显示。

这是代码;

var i = 1;

function updateIcon() {
i=1;
chrome.browserAction.setBadgeText({text: ''});
chrome.browserAction.setPopup({popup:"popup.html"});
}

chrome.browserAction.onClicked.addListener(updateIcon);
chrome.browserAction.setBadgeBackgroundColor({color:[200, 0, 0, 100]});

window.setInterval(function() {
chrome.browserAction.setBadgeText({text:String(i)});
i++;
}, 4000);

最佳答案

您的徽章文本正在增长,因为 Background Page 在扩展程序被卸载或禁用之前一直存在。

所以你的代码

window.setInterval(function() {
chrome.browserAction.setBadgeText({text:String(i)});
i++;
}, 4000);

让徽章继续成长。

此外,chrome.browserAction.onClicked.addListener(updateIcon); 不会工作第二次!

你想阻止什么?

附言:您同时使用了两个相互冲突的功能(browserAction.onClickedbrowserAction.setPopup

编辑 1

工作版本

list .json

注册后台页面和浏览器操作

{
"name": "Bagde",
"description": "http://stackoverflow.com/questions/14436053/chrome-extension-onclick-with-popup",
"version": "1",
"manifest_version": 2,
"background": {
"scripts": [
"background.js"
]
},
"browser_action": {
"default_title": "Hi",
"default_popup": "popup.html"
}
}

背景.js

使用您的代码并消除冲突的 browserAction.onClicked 事件

var i = 1;

function updateIcon() {
i = 1;
chrome.browserAction.setBadgeText({
text: ''
});
chrome.browserAction.setPopup({
popup: "popup.html"
});
}


chrome.browserAction.setBadgeBackgroundColor({
color: [200, 0, 0, 100]
});

window.setInterval(function () {
chrome.browserAction.setBadgeText({
text: String(i)
});
i++;
}, 4000);

popup.html

一些琐碎的页面,使用了popup.js来遵守CSP。

<html>

<head>
<script src="popup.js"></script>
</head>

<body>
<p>Some Content ..</p>
</body>

</html>

弹窗.js

调用后台页面函数,所以当图标被点击时计数器开始

document.addEventListener("DOMContentLoaded", function () {
//Get Reference to Functions
backGround = chrome.extension.getBackgroundPage();
//Call Function
backGround.updateIcon();
});

关于javascript - 带有弹出窗口的 Chrome 扩展 Onclick(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14436053/

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