【发布时间】:2017-03-14 18:02:40
【问题描述】:
更新
chrome://about/ 有直接链接到chrome://settings 和其他人,所以可以做到。
如何链接/重定向到网页中的chrome:// URL?例如,chrome://settings。尝试单击指向chrome:// URL 的链接时,
<a href="chrome://settings">link</a>
我在控制台中收到错误:
Not allowed to load local resource: chrome://settings/
根据这个答案,有可能:
Link to chrome://chrome/extensions from extension options page
我试过这个脚本:
<a href="#" id="test">test</a>
<script>
document.addEventListener('DOMContentLoaded', function () {
document.getElementById('test').addEventListener('click', function () {
chrome.tabs.update({
url: 'chrome://chrome/extensions'
});
});
});
</script>
还有这个:
<a href="#" onclick="chrome.tabs.create({url:'chrome://settings/clearBrowserData'});">click me</a>
两者都不起作用。除此之外,我还尝试过:
- 使用
<a href="chrome://newtab">链接到它 - 使用
window.location重定向用户。
但是,我相信可能有 JavaScript 解决方法。当用户点击链接时,是否可以将 URL 更改为chrome://settings?用户必须在之后按 Enter,但这似乎是我能得到的最好的。
【问题讨论】:
-
您将这段 JavaScript 代码和 HTML 放在哪里?根据您对答案的评论,听起来您想将此链接放在网页中。那是对的吗?但是,您的 JavaScript 代码正在使用特定于扩展的 API。
-
如您链接的页面Link to chrome://chrome/extensions from extension options page 中所述,可在扩展程序中运行的代码与可在网页中运行的代码之间存在很大差异。
chrome.tabs是网页无法使用的扩展特定 API。 Now see Xan's answer. -
chrome://about/已经是使用chrome://方案的 URL(即 Google Chrome 内部的)。声称您可以根据来自 Chrome 内部页面的链接从网页链接到chrome://URL,这是错误的并且是有缺陷的比较。已经清楚地确定您可以从已经具有特权的 URL/代码中获得此类链接(请参阅详细说明如何从扩展程序中执行此操作的答案)。 -
注意:如果对您的问题提供更新,而您只提供一点额外的文本而不更改您的大部分问题,请将更新与您的大部分问题分开,这样我们就不会必须去看看edit diff 看看是不是这样。常见的做法是将更新放在问题的底部。
标签: javascript google-chrome google-chrome-extension hyperlink google-chrome-devtools