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

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

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

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

这是 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
  });
}
qwer879 回答:Chrome插件弹出窗口导致插件按钮徽章文本出现问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3143252.html

大家都在问