更新
chrome://about/
与chrome://settings
和其他人有直接链接,因此可以完成。
如何链接/重定向到网页中的chrome://
网址?例如,chrome://settings
。尝试点击指向chrome://
网址的链接时
<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 ,但这似乎是我得到的最好的。
答案 0 :(得分:9)
不,没有办法从网页上做到这一点。
chrome://
是特权来源,任何打开它的尝试都会导致重定向到about:blank
。
Chrome会这样做可以减少攻击面:即使只是打开这些 这些网址无害,最好不要让网站和外部程序甚至尝试。
此外,它不是那么无害,例如调试网址,例如chrome://crash
,chrome://hang
(小心,那些真的按照您的意愿行事。)
显然,您无法使用chrome.tabs
,因为它是未向网站公开的扩展API。但是,它能够打开特权来源。
答案 1 :(得分:4)
以下适用于我;
<强>的manifest.json 强>
{
"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/"
]
}
<强> popup.html 强>
<!doctype html>
<html>
<head>
<title>Redirection Popup</title>
<script src="popup.js"></script>
</head>
<body>
<a href="#" id="test">test</a>
</body>
</html>
<强> popup.js 强>
document.addEventListener('DOMContentLoaded', function() {
document.getElementById('test').addEventListener('click', function() {
chrome.tabs.update({ url: 'chrome://chrome/extensions' });
});
});
<强>的icon.png 强>
添加自定义的示例或从此link
下载示例将所有这4个包含在一个目录中,然后将扩展解压缩到chrome。它应该工作!