如何用JavaScript打开chrome://about这类Chrome内置URL?
问题解答
这不是你的代码问题,是浏览器的安全限制导致的。
核心原因
chrome://是Chrome浏览器的内部协议,浏览器为了安全,禁止普通网页通过脚本(比如window.open())打开这类内部页面——毕竟这类页面涉及浏览器设置、历史记录等敏感内容,要是随便一个网页都能打开,很容易被恶意网站滥用。- 而像
www.google.com这类HTTP/HTTPS协议的普通网址,属于浏览器允许网页脚本正常访问的范围,所以window.open()能正常工作。
额外说明
不光是chrome://about,所有Chrome的内部页面(比如chrome://settings、chrome://history)都没法通过普通网页的脚本用window.open()打开。如果是Chrome扩展程序,在申请到对应权限后,倒是可以通过专属API打开这类页面,但普通网页没这个权限。
你的测试代码:
<!doctype html> <html > <head> <link rel="stylesheet" href="lib/style.css"> <script src="lib/script.js"></script> </head> <body onload="aboutPage()"> <h1>Open About</h1> </body> <script> function aboutPage(){ window.open("chrome://about") } </script> </html>
内容的提问来源于stack exchange,提问作者Mythical Labs
相关产品推荐
相关产品推荐

