十二月309 2022-09-23 10:34 采纳率: 50%
浏览 124
已结题

chrome插件无法运行

问题遇到的现象和发生背景

开发了一个chrome插件监控一个通告网页的新通告,在3台电脑上都安装了这个插件,但运行一个月左右两台电脑的插件都不工作了(电脑每日都正常开关机),也不报错,但另一台电脑可以正常运行。

代码

content_scripts代码:

var plaintext 
async function print() {

    var frame2 = window.frames["main-frame"].frames["DomNotams"].document
    var spytext = frame2.evaluate("/html/body/form/div[3]/text()[1]",frame2, null, XPathResult.ANY_TYPE, null).iterateNext();
    var spytext2 =spytext.textContent
    await readLocalStorage('spytextval')
    if( spytext2==plaintext ){
        console.log('相同')
    }else{
        console.log('不同')
        var ret = setLocalStorage({ spytextval: spytext2 })
        chrome.runtime.sendMessage({greeting: '你好,我是content-script呀,我主动发消息给后台!'}, function() {
            console.log('收到来自后台的回复'); 
        });
    
    }
}
const readLocalStorage = async (key) => {
    return new Promise((resolve, reject) => {
      chrome.storage.local.get([key], function (result) {
        if (result[key] === undefined) {
          reject();
        } else {
          resolve(result[key]);
        }
      });
    }).then((result) =>{
        console.log(result)
        plaintext = result
    }).catch(err=>{
            
    })
};
const setLocalStorage = async (kv) => {
    return new Promise((resolve, reject) => {
        chrome.storage.local.set(kv)
};

setInterval("print()", 15000)

background代码:

function desktop_notification(){
    chrome.notifications.create("id", { 
      type : 'basic',
      title : '您有新的通告',  
      message : '使用须知请点击浏览器右上角黄色标签',
      iconUrl : 'img/xx.png'
    });
}
function audioNotification(){
    var yourSound = new Audio('/video/guonei.mp3');
    yourSound.play();
}
chrome.runtime.onMessage.addListener(function (request) {

    if(request){
      desktop_notification()
        audioNotification()  
    }
});

我的解答思路和尝试过的方法

1.清理过浏览器缓存但仍无效
2.重装过插件,也不行

我想要达到的结果

脚本可以长期稳定运行

  • 写回答

8条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 10月1日
      • 赞助了问题酬金10元 9月23日
      • 创建了问题 9月23日

      悬赏问题

      • ¥15 港诡实录的背包系统拆解
      • ¥15 完成赛博选角的需求,随机选取所扮演的文明
      • ¥15 宽带IP网络路由器的初始路由表和最终路由表
      • ¥15 c语言基础这几个该怎么搞
      • ¥15 ip 地址转换(字符串与指针)
      • ¥15 有没有同在北京有业余时间教编程的程序员?
      • ¥15 桌面路径修改到D盘,忘记创建文件夹
      • ¥15 在网站管理的后台误操作
      • ¥16 Hdfs集群启动不成功,显示连接时间过长,而且jps中也没显示
      • ¥80 C++代码,期末考试用