我希望能够显示样式化的警报对话框 - 从Chrome扩展程序的后台脚本调用警告对话框。
我在后台脚本中有以下代码:
chrome.browserAction.onClicked.addListener(function (details) {
chrome.windows.getCurrent({}, function (currentWindow) {
const currentWindowId = currentWindow.id;
chrome.tabs.query({}, function (tabs) {
const myTab = tabs.find(function (tab) {
return String(tab.url).trim().startsWith(sumanExtensionURL);
});
if (myTab) {
chrome.tabs.update(myTab.id, {highlighted: true});
if (String(myTab.windowId).trim() !== String(currentWindowId).trim()) {
alert('Suman Chrome Extension already opened in another window.');
}
}
else {
console.log('no existing tab found, opening a new one.');
chrome.tabs.create({url: chrome.extension.getURL('dist/index.html')});
}
});
});
});
此代码正在执行的操作是,如果不存在匹配的选项卡,则打开新选项卡,否则将匹配选项卡设置为活动。
但是,如果匹配标签位于与当前标签不同的窗口中,我想让用户知道,否则他们可能会感到很困惑,因为他们没有任何其他视觉确认。
当我显示警报时,它就是这样的:
有没有办法设置此警报消息的样式?是否有另一种方法来创建可以某种方式设置样式的警报消息?
答案 0 :(得分:1)
您可以更改提醒功能的作用:
window.alert = function (message) {
// Do something with message
};
您无法更改本机警报功能启动的模式窗口的标题,样式或其他行为。
您可以做什么 - 创建自定义组件(对话框,只是常规HTML元素)并将其插入带有内容脚本的页面中。从后台页面只需发送一条消息即可显示此自定义对话框。