Google chrome extension 执行Chrome扩展onclick而不是页面加载

Google chrome extension 执行Chrome扩展onclick而不是页面加载,google-chrome-extension,Google Chrome Extension,我创建了一个Chrome扩展,除了它只在我加载一个与清单中的条件匹配的页面时执行之外,它可以按预期工作。我已经尝试了几个小时,通过点击扩展图标来执行它,但没有成功 我能做的最接近我想要的是,我能让扩展图标点击来运行代码,但它不会在加载的页面上运行它。它在扩展的空间而不是页面DOM上运行它 在当前状态下,我的代码仅在指定域中的页面打开时运行。我只想在它与该规则匹配时运行它,但只想在单击扩展图标时运行它 这是我的密码: manifest.json { "name": "G

我创建了一个Chrome扩展,除了它只在我加载一个与清单中的条件匹配的页面时执行之外,它可以按预期工作。我已经尝试了几个小时,通过点击扩展图标来执行它,但没有成功

我能做的最接近我想要的是,我能让扩展图标点击来运行代码,但它不会在加载的页面上运行它。它在扩展的空间而不是页面DOM上运行它

在当前状态下,我的代码仅在指定域中的页面打开时运行。我只想在它与该规则匹配时运行它,但只想在单击扩展图标时运行它

这是我的密码: manifest.json



    {
        "name": "Get Response URL",
        "version": "1.0",
        "manifest_version": 2,
        "browser_action": {
        "default_icon": "mkto_icon.png",
        "name": "Click to get URL"
        },
        "content_scripts": [{
            "js": ["contentscript.js"],
            "matches": ["http://mydomain.com/*"]
        }]
    }

contentscript.js



    if (document.getElementsByName("returnURL")){
        alert("\nThe Response URL on this form is:\n\n" + document.getElementsByName("returnURL")[0].value);
    }


使用browserAction API,请参阅


onClick事件可能会对您有所帮助。也可以从google上看到:

正如我看到的,您希望在

  • 用户已单击浏览器操作图标并
  • URL模式是匹配的
如果是这样的话,你就有用处了 与Tabs API结合使用的背景页

示范 这是用例的示例演示,您可以放置所有代码并为所有匹配URL分配权限

manifest.json 已注册的背景页、浏览器操作和目标页的权限

{
        "name": "Get Response URL",
        "version": "1.0",
        "manifest_version": 2,
        "browser_action": {
        "name": "Click to get URL"
        },
        "background":{
            "scripts":["background.js"]
        },
        "permissions":["https://www.google.co.in/*"] //Put All your URL here
 }
background.js 将所有目标匹配URL放在一系列if条件中

chrome.browserAction.onClicked.addListener(function (tab) { //Fired when User Clicks ICON
    if (tab.url.indexOf("https://www.google.co.in/") != -1) { // Inspect whether the place where user clicked matches with our list of URL
        chrome.tabs.executeScript(tab.id, {
            "file": "contentscript.js"
        }, function () { // Execute your code
            console.log("Script Executed .. "); // Notification on Completion
        });
    }
});
contentscript.js 输出 当浏览到并单击浏览器操作后,您会在页面中看到警报

工具书类

非常感谢您。这正是我所缺少的。在我发布问题之前我试过,但是我之前做了一些错误的事情。这一次,它像一个魅力+我不能给这个答案打分或投票,因为我是新来的,但如果可以,我会给它一个+!
alert("Code Executed ... ");