从网页链接到chrome:// url

Zac*_*105 5 javascript google-chrome hyperlink google-chrome-extension google-chrome-devtools

UPDATE

chrome://about/有直接链接chrome://settings和其他人,所以它可以做到.

如何链接/重定向到chrome://网页中的URL?例如,chrome://settings.尝试单击指向chrome://URL 的链接时

<a href="chrome://settings">link</a>
Run Code Online (Sandbox Code Playgroud)

我在控制台中收到错误:

Not allowed to load local resource: chrome://settings/
Run Code Online (Sandbox Code Playgroud)

根据这个答案,有可能:

从扩展程序选项页面链接到chrome:// chrome/extensions

我试过这个脚本:

<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>
Run Code Online (Sandbox Code Playgroud)

还有这一个:

<a href="#" onclick="chrome.tabs.create({url:'chrome://settings/clearBrowserData'});">click me</a>
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.除了那些,我试过:

  • 使用链接到它 <a href="chrome://newtab">
  • 使用重定向用户window.location.

但是,我相信可能有一个JavaScript解决方法.当用户按下链接时,是否可以将URL更改为chrome://settings?用户必须按下Enter,但这似乎是我得到的最好的.

Xan*_*Xan 9

不,没有办法从网页上做到这一点.

chrome://是一个特权来源,任何打开它的尝试都会导致重定向about:blank.

Chrome可以减少攻击面:尽管只打开这些URL 应该是无害的,但最好不要让网站和外部程序尝试.

此外,它不是那么无害,例如,调试URL chrome://crash,chrome://hang(小心,那些真正做你期望的).

显然,您不能使用,chrome.tabs因为它是不暴露给网站的扩展API.但是,它能够打开特权来源.


小智 8

以下为我工作;

清单文件

 {
  "manifest_version": 2,

  "name": "Redirection Sample",
  "description": "Test Redirection",
  "version": "1.0",

  "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "permissions": [
    "activeTab",
    "https://ajax.googleapis.com/"
  ]
}
Run Code Online (Sandbox Code Playgroud)

弹出窗口.html

<!doctype html>
<html>
  <head>
    <title>Redirection Popup</title>
    <script src="popup.js"></script>
  </head>
  <body>
  <a href="#" id="test">test</a>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

弹出窗口.js

  document.addEventListener('DOMContentLoaded', function() {
        document.getElementById('test').addEventListener('click', function() {
            chrome.tabs.update({ url: 'chrome://chrome/extensions' });
        });
    });
Run Code Online (Sandbox Code Playgroud)

图标.png

添加定制的或从此链接下载示例

将所有这 4 个包含在一个目录中,并将扩展程序加载到 chrome 中。它应该工作!

  • 嗨-很抱歉,但我不是在寻找扩展程序,因为我的工作场所阻止我们使用任何扩展程序。我宁愿制定一个适用于任何没有扩展程序的用户的解决方案 (2认同)