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