Raf*_*ael 14 google-chrome-extension
我创建了一个按预期工作的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/*"]
}]
}
Run Code Online (Sandbox Code Playgroud)
contentscript.js
if (document.getElementsByName("returnURL")){
alert("\nThe Response URL on this form is:\n\n" + document.getElementsByName("returnURL")[0].value);
}
Run Code Online (Sandbox Code Playgroud)
Sud*_*han 38
因为我看到你想在什么时候运行代码
如果是这样,您可以将背景页面与Tabs API结合使用.
这是您的用例的示例演示,您可以放置所有代码并为所有匹配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
}
Run Code Online (Sandbox Code Playgroud)
将所有目标匹配网址放在一系列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
});
}
});
Run Code Online (Sandbox Code Playgroud)
alert("Code Executed ... ");
Run Code Online (Sandbox Code Playgroud)
当您浏览到https://www.google.co.in/并点击浏览器操作后,您会在页面中看到警报.
| 归档时间: |
|
| 查看次数: |
21602 次 |
| 最近记录: |