选项卡.无法访问chrome:// URL
tabs.executeScript: Cannot access a chrome:// URL
chrome.tabs.executeScript(null, { file: "jquery.js" }, function() {
chrome.tabs.update(null, {url: 'https://example.com/'});
});
上面的代码工作时,我触发当我的地址栏有东西,意味着我在任何网页,但当我触发时,我的地址栏是空白的,我得到下面的错误:
Unchecked runtime.lastError while running tabs.executeScript: Cannot access a chrome:// URL
at Object.callback
-
通常(参见文档中的编程注入)不可能将脚本注入具有
chrome://
url的选项卡中,因为允许的方案是<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp'
。在Chrome v61之前,仍然可以注入到新选项卡页面的内容框架中,其中您提到的"空白地址栏"在内部表示为
chrome://newtab/
。例如,主框架有一个这样的地址:https://www.google.com/_/chrome/newtab?espv=2&es_th=1&ie=UTF-8(使用devtools中的网络面板来检查url)。所以你的manifest.json
会有"permissions": ["tabs", "https://www.google.com/_/chrome/newtab*"],
-
或者你可以启用
chrome://flags/#extensions-on-chrome-urls
标志,但是这几乎没有用,因为Chrome每次启动都会显示警告。
相关文章:
- Android上的Chrome无法播放来自对象URL的录制音频
- 如何重定向当前选项卡'Chrome扩展中的url
- chrome.identity.launchWebAuthFlow中的自定义url
- 在Chrome中的适当选项卡/窗口中打开URL
- 从Javascript中的Chrome扩展获取选项卡url
- 使用javascript在chrome浏览器的新选项卡中以程序方式打开URL
- 如何使用Chrome文档中的文件而不是URL
- Chrome扩展:不安全的JavaScript尝试访问具有URL的框架域、协议和端口必须匹配
- 如何在chrome扩展中的新选项卡上加载url覆盖的脚本
- 获取Chrome pageAction图标以显示JSON中的URL列表
- Chrome webRequest只侦听用户输入的URL
- 如何使用chrome文件系统api从chrome应用程序中的url下载图像
- 在使用chrome.tabs.onUpdated.addListener后访问给定URL时删除侦听器
- 画布已被通过本地 chrome:// 扩展 URL 的跨源数据污染
- Firefox 插件中的 OnBeforeRequest URL 重定向(从 Chrome 扩展程序转换)
- chrome.history.getVisits未列出所有URL
- chrome扩展在url chrome://中执行扩展后不起作用
- 检查ajax页面更新与javascript上的特定url (chrome扩展)
- 如何重定向url chrome扩展
- 为什么当我回到前一页,我有一个不正确的url (Chrome下的iOS,浏览器回来)