从标准网页打开chrome://settings

8

我正在使用getUserMedia访问访客的网络摄像头,但如果访客拒绝访问,他们将永远不会再被要求。检测到这一点很容易(请求时几乎立即被拒绝)。因此,当它被阻止时,我想将用户引导到chrome://settings/contentExceptions#media-stream,以便他们可以更改设置(我将使用浏览器检测为每个浏览器量身定制此链接)。但是一个简单的链接使Chrome不高兴:

不允许加载本地资源:chrome://settings/contentExceptions#media-stream

我也尝试了各种基于JavaScript的方法,结果都是一样的,发现互联网上引用chrome.tabs.create作为扩展选项的几个来源(但这不是扩展,因此chrome.tabs不可用)。

我的问题有两个。第一个问题是简单好奇;为什么会被阻止?(允许它会有什么风险?)。而主要问题是:我能否规避这个限制?

2个回答

10
您既不能也不应该这样做。相反,您应该告知用户这些设置是什么以及他需要怎么做才能更改它们。在Chrome的地址栏左侧(omnibar)单击一下即可更改该设置。
请参考以下链接:https://support.google.com/chrome/answer/95617?hl=zh-Hans
如上图所示: enter image description here

1
Chrome甚至不允许您从外部网页点击chrome://链接。 - Blender
嗯,好的。如果我能找到一种猜测它在哪里的方法,我可能会尝试显示一个指向它的箭头。令人恼火的是,如果用户在同一次访问中阻止了它,它仍然会显示“默认情况下询问”,这使得更改它变得相当不直观。地址栏右侧还有一个相机图标,允许用户更改此设置,但这更容易移动。 - Dave
也许一张屏幕截图就足够了? - MarZab

6

由于安全原因,您不能执行此操作。

Chrome不希望让网站欺骗经验不足的用户更改Chrome设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接