Chrome-Extension:通过代码自动重启扩展

问题描述 投票:0回答:1

我使用Chrome扩展程序抓取网站,并且Chrome扩展程序偶尔会崩溃。为了重新加载崩溃的扩展,我创建了另一个扩展,每X分钟重新加载崩溃的扩展。

直到最近,一切都很好。当我没有对其进行任何更改时,我用来重新启动刮板的扩展程序不再重新启动该扩展程序。

这里是警报的示例:

chrome.alarms.get(alarmName, function(Alarm) 
    {
        if (typeof Alarm === 'undefined')
            {
                console.log('is not defined');
                chrome.alarms.create(alarmName, 
                    {
                    periodInMinutes: 1
                });         
            }       
        else 
            {
                console.log('is defined');

            }       

    });

然后是重新启动扩展程序的代码:

chrome.alarms.onAlarm.addListener(async function( alarm ) 
    {
        var child = null;
        chrome.management.getAll(function (info) {
            for (var i=0; i < info.length; i++) {
                if (info[i].name == 'MyScraper') {
                    child = info[i];
                    console.log(child);
                    chrome.management.setEnabled(child.id, true, function () 
                    { 
                        console.log('Enabled '+Date.now());
                    });
                    break;
                }
            }
        }); 


    });

代码正确找到扩展名并显示子对象,该对象的内容正常,但是一旦我尝试使用setEnabled重新加载它,控制台将输出“ Enable + time”,但抓取扩展名不会重新启动。我没有收到任何错误消息。

该扩展程序在带有Chromium的Raspberry Pi 4上运行,以前曾经在Windows上运行,但是我不明白为什么该代码不再起作用。

任何想法?

谢谢!

google-chrome-extension
1个回答
0
投票

由于无法找到通过Chrome扩展程序解决此问题的方法,因此我安装了xdotool并创建了一个脚本,该脚本每10分钟点击一次重新加载按钮。这不是超级干净,但至少可以解决我的问题。

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.