繁体   English   中英

Chrome 插件弹出窗口导致插件的按钮徽章文本出现问题

[英]Chrome addon popup causes problem with the addon's button badge text

我创建了一个简单的插件,它在单击时为特定文件夹中的活动选项卡添加书签。 该插件由两个.js 文件组成,background.js 和popup.js。 background.js 完成繁重的工作,并在书签完成后将一些日期值发送到 popup.js,然后在弹出窗口 window 中显示它们。 它还在插件按钮上显示“确定”文本。 2 秒后弹出 window 和按钮文本都会自动清除。 一切正常,书签以及显示和关闭弹出窗口和徽章时。

这是问题所在。 如果我碰巧在这 2 秒内通过单击页面或浏览器中的任意位置关闭了弹出窗口 window,则标记文本不会清除。 直到我下次再次单击该按钮并通过这次让弹出窗口自行关闭来重复该过程,然后文本才会清除。

那么是什么原因造成的,我该如何解决呢? 即使我在这 2 秒内手动关闭弹出窗口 window,我也需要清除徽章文本。

这是popup.js的代码

// Listener calls background 
document.addEventListener("DOMContentLoaded", function () {
    backGround = chrome.extension.getBackgroundPage();    
    backGround.browserOnClickAxn(insertText);
});


// Set text   
function insertText (msg) {
    var message = "To find your saved tabs, look in the folder ";
    message = message + "<br>";
    message = message + "<strong>";
    message = message + "\""+msg+"\"";
    message = message + "</strong>";
    message = message + "<br><br>";
    message = message + " under ";
    message = message + "<br>";
    message = message + "<strong>";
    message = message + "\"Other Bookmarks/BOOKMARKS/VARIOUS\""; 
    message = message + "</strong>";  
    message = message + "<br><br>"; 
    document.getElementById('msg').innerHTML = message;   
    setBadgeText('OK!');
setTimeout(function () {
setBadgeText('');
window.close();
}, 2000);
}


function setBadgeText(text) {
chrome.browserAction.setBadgeBackgroundColor({
  color: '#32cd32'
});
  chrome.browserAction.setBadgeText({
    text: text
  });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM