循环阅读带有Chrome扩展程序的HTML页面的内容

时间:2018-10-26 13:42:55

标签: google-chrome-extension

我需要创建执行以下操作的Google Chrome扩展程序:

读取网址数组(可能有2000个网址) 对于每个网址: 1)我在选项卡中显示页面 2)我在新加载的页面中提取了一些html内容 3)我用提取的内容构建了一个新的url,用于将信息发送到我自己的本地服务,它保存了信息(我想,我只需要使用此新的url更新选项卡)

在那之后,没关系,我只是用下一个网址再次执行相同的任务。

要开始执行此工作,我创建了以下3个文件。

Manifest.json

{
    "manifest_version": 2,
    "name": "Test",
    "description": "Test to read pages",
    "version": "1.0",
    "browser_action": {
        "default_title": "test page reader",
        "default_popup": "popup.html",
        "default_icon": "icon.png"
    },
    "permissions": [
        "activeTab"
    ]
}

popup.html 该文件直接加载popup.js

<html>

<head>
    <script type="text/javascript" src="popup.js"></script>
</head>

<body>
    <div id="test" style="width: 100px; height: 100px; margin-top: 15px;"></div>
</body>

</html>

popup.js

urls = ["http://localhost/page1.php",
        "http://localhost/page2.php",
        "http://localhost/page3.php"
];

for (i = 0; i < urls.length; i++) { 
    myUrl = urls[i]+"&current="+i; // add "current" parameter to know where I am

    // callback function
    callbackFct = function() {
        // affecte le style de la div
        document.body.style.backgroundColor = "red";
    };

    // update tab and execute callbackFct
    chrome.tabs.update(null, {url:myUrl}, callbackFct);

}

我的代码有问题:

  

回调函数修改popup.html的背景颜色,而不是页面的背景。   如何修改选项卡的内容而不是popup.html的内容?当此操作正常时,我可以替换为数据提取(步骤2)。   更新选项卡后,是使用回调函数的写入方式吗?   目标是等待DOM页面完全加载。   (第3步)在哪里致电我的服务以保存数据的最佳位置?是在回调函数中使用当前选项卡的更新吗?

非常感谢您的帮助和建议。

0 个答案:

没有答案