我想根据当前选择的页面和选项卡加载不同的内容脚本.现在,我有三个内容脚本.我想将其中两个用于一个页面,将第三个用于另一个页面.
属于第1页:
content_script.js
load_content_script.js
属于第2页:
newtab_content_script.js
现在我的清单看起来像这样
{
"name": "A plugin for AdData express. Generate an instant excel document from the brands you check mark.",
"version": "1.0",
"background_page": "background.html",
"permissions": [
"cookies",
"tabs",
"http://*/*", "https://", "*", "http://*/*", "https://*/*",
"http://www.addataexpress.com", "http://www.addataexpress.com/*"
],
"content_scripts": [
{
"matches": ["<all_urls>","http://*/*","https://*/*"],
"js": ["load_content_script.js", "content_script.js", "newtab_content_script.js", "jquery.min.js", "json.js"]
}
],
"browser_action": {
"name": "AdData Express Plugin",
"default_icon": "icon.png",
"js": "jquery.min.js",
"popup": "popup.html"
}
}
Run Code Online (Sandbox Code Playgroud)
我将如何在清单或其他地方构建这个?
javascript permissions google-chrome manifest google-chrome-extension
我想在更新选项卡时执行内容脚本功能.问题是,有时候标签更新是ajax(没有页面重新加载),同时仍然会更改页面的URL.因此,注入的旧内容脚本仍然存在于页面上.结果是在同一页面上注入并运行了多个内容脚本实例.
所以,我正在寻找一种注入内容脚本的机制,只有在之前没有注入相同的内容脚本时.有任何想法吗?
摘要:我需要找到一种方法来通过编程注入实现与在清单上使用content_scripts>相同的行为。为什么?因为这是我发现的在扩展页面中注入内容而不会出现跨源错误的唯一方法。matches"all_frames": trueiframe
我正在转向optional_permissionsChrome 扩展,但我陷入了死胡同。
将此行为移至optional_permissions以便将来能够添加更多主机。使用当前代码,通过在content_scripts>上添加一个新主机matches,Chrome 会禁用该扩展。
对于此举,我content_scripts在清单中删除了并添加了"optional_permissions": ["*://*/"],. 然后,我成功实现了一个对话框,向用户询问新权限chrome.permissions.request。
正如我之前所说,问题是如何将 的iframe内容注入扩展页面。
chrome.declarativeContent.RequestContentScript(这里提到)与allFrames: true. 如果直接输入 URL,我只能看到脚本正在运行,当该 URL 设置为iframe.chrome.tabs.onUpdated:url用于undefined扩展页面。另外,iframe未检测到该 url。chrome.tabs.executeScript当我加载allFrames: true第一个iframe. 通过这样做,我得到一个异常Cannot access contents of the page. Extension manifest must request permission to access the respective …我正在寻找一种如何使Chrome Content Script匹配URL可配置的方法.
通常,脚本的URL manifest.json在matches数组中指定.我相信我可以将其设置为http://*/或者https://*/在脚本开头检查/过滤所需URL的执行情况,但我想知道是否有更简洁的方法来执行此操作.
有没有办法如何为配置的URL运行脚本,如果URL不匹配,根本不运行?
谢谢
我创建了一个Chrome扩展程序,以便在我的网站上提供其他功能.
在添加我的扩展程序时,用户会播放扩展程序能够"读取并更改您访问的网站上的所有数据"的消息.
我该如何删除此权限?
目前我还没有最终确定网站的域名.我可以使用其他机制来识别我的网站(而不是域名)吗?