错误处理响应:ReferenceError:文档未定义

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

我试图学习如何做一个虚拟的 Chrome 扩展,我在标题中遇到了这个错误。此扩展程序会尝试从 Google 图片中删除所有图像并执行其他我不确定的操作,例如重定向或只是播放,但我找不到此错误的解决方案。

chrome.tabs.onActivated.addListener(function () {
        chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
            this.callOnPage(tabs[0].url);
        });
    });
    
    chrome.tabs.onUpdated.addListener(
        function (tabId, changeInfo, tab) {
            callOnPage(tab.url);
        }
    );
    
    var callOnPage = (function (activeTab) { 
        var googleImages = activeTab.indexOf('google.com') !== -1 && activeTab.indexOf('tbm=isch') !== -1;
        var googleVideos = activeTab.indexOf('google.com') !== -1 && activeTab.indexOf('tbm=vid') !== -1;
    
        console.log(`images: ${googleImages}, videos: ${googleVideos}`);
    
        var images = document.getElementsByTagName('img');
        var l = images.length;
        for (var i = 0; i < l; i++) {
            images[0].parentNode.removeChild(images[0]);
        }
    })

清单

    {
        "name": "Google Image Blocker",
        "manifest_version": 3,
        "version": "1.0",
        "background": {
            "service_worker": "googleImageBlocker.js"
        },
        "permissions": [
            "tabs"
        ],
        "externally_connectable": {
            "matches": ["*://*.google.com/*"]
        }
    }
google-chrome-extension
1个回答
1
投票

这行代码中的文档:

var images = document.getElementsByTagName('img');  

指的是你的 service_worker。 如果您想从谷歌页面中删除图像,您必须使用内容脚本。
看看这个 还有这个

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