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
发布于 2015-05-21 17:10:29
chrome://
urls向选项卡中注入脚本,因为允许的方案是<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp'
。
In Chrome在v61之前仍然可以插入到New页面的内容框架中,其中您提到的“空白地址栏”在内部表示为chrome://newtab/
。例如,主框架的地址如下:th=1&ie=UTF-8 (使用devtools中的网络面板检查urls)。所以你的manifest.json
会有"permissions": ["tabs", "https://www.google.com/_/chrome/newtab*"],
chrome://flags/#extensions-on-chrome-urls
标志,但是这几乎没有什么用处,因为Chrome将在每次启动时显示警告。https://stackoverflow.com/questions/30367313
复制相似问题