首页 > 解决方案 > 在关闭或重新加载之前保存标签的 Chrome 扩展

问题描述

我想编写一个 Chrome 扩展程序,将整个网页(至少是文本和链接)保存到磁盘,就在选项卡关闭或刷新或加载另一个 URL 之前。

(某些网站每次刷新时都会生成不同的提要。此扩展程序旨在本地保留此类站点的先前提要。加载后立即保存页面并不好,因为它会错过无限滚动期间稍后可能出现的提要。)

我尝试收听onUpdated事件,但它似乎返回内容而不是预重新加载内容:

// background.js
chrome.tabs.onUpdated.addListener(function(tabId,changeInfo,tab) {
  if (tab.url !== undefined && changeInfo.status == "complete"){
    chrome.pageCapture.saveAsMHTML({"tabId": tabId}, function(mhtmlData){
        let mhtmlBlob  = new Blob([mhtmlData], { type: 'application/x-mimearchive' });
        // save mht
    });
  }
});

摆弄changeInfo.statusetc 的不同值也无济于事。我应该检查 onRemoved 和 onReplaced 吗?有什么建议么?

PS:这个相关的问题是关于关闭一个窗口,而我对标签级别感兴趣。

标签: javascriptgoogle-chromegoogle-chrome-extensionfeedevent-listener

解决方案


推荐阅读