首页 > 解决方案 > Chrome 扩展:在文档按钮上单击运行 browser_action

问题描述

我正在开发和扩展,一旦单击页面内的某个按钮,我就可以截取整个页面的屏幕截图。该代码是一个稍微修改过的版本:https ://github.com/mrcoles/full-page-screen-capture-chrome-extension

因此,如果用户单击扩展图标,它就会开始捕获。我需要能够通过单击页面内的按钮来执行相同的操作,该按钮已经在页面上。我添加了 background.js 和 content.js 并尝试了不同的方法......但没有成功。你知道怎么做吗?

{
    "name": "", "version": "", 
    "manifest_version": 2, "description": "",
    "browser_action": {
        "default_icon": "icon48-999.png",
        "default_popup": "popup.html"
    },
    "permissions": [
        "activeTab",
        "storage",
        "unlimitedStorage"
    ],
    "background": {
        "scripts": ["background.js"],
        "persistent": true
    },
    "content_scripts": [{
            "run_at": "document_idle",
            "matches": ["*://mydomain/app/*"],
            "js": ["content.js"]
        }]
}

目前我能够听到这样的点击事件:

内容.js

document.getElementById('top-nav').addEventListener('click', function () {
    chrome.runtime.sendMessage({screencapture: true});
});

background.js ...但我仍然得到“未定义”输出...

chrome.runtime.onMessage.addListener(function () {
    alert('background.js');
    chrome.tabs.captureVisibleTab(null, {format: "png"}, function (data) {
        alert(data);
    });
});

标签: javascriptgoogle-chromegoogle-chrome-extension

解决方案


推荐阅读