【问题标题】:Can you set window.location to pages with chrome://?您可以将 window.location 设置为带有 chrome:// 的页面吗?
【发布时间】:2021-02-28 23:25:54
【问题描述】:

我正在尝试将用户重定向到chrome://settings(或者这实际上可以是任何带有chrome:// 前缀的页面),但window.location='chrome://settings'window.location='chrome://crash' 不起作用。 的任何方式? .

【问题讨论】:

  • 尝试这个时控制台是否有错误?
  • 您需要在 URL 周围加上引号。
  • @Barmar 不,没有错误。我会在 URL 周围加上引号。
  • VM245:1 不允许加载本地资源:可以在控制台看到
  • Chrome 最不想要的就是来自随机网站的人们要求人们“打开此页面并打开允许侵入性广告”。等等,它是由 Google 制作的......????

标签: javascript


【解决方案1】:

出于安全原因,您不能这样做。您无法打开任何本地资源或浏览器的功能页面,这可能存在潜在危险,因此默认情况下会被浏览器阻止。

例如,在 Firefox 中尝试执行以下代码:

window.location = 'about:preferences'

导致错误:

TypeError: Access to 'about:preferences' from script denied.

在铬:

window.location = 'chrome://settings'

导致:

VM388:1 Not allowed to load local resource: chrome://settings/

【讨论】:

  • 我还没有检查过,但我认为这可以通过 about:config 设置(Firefox)覆盖。假设这可能会创建脚本可以编辑设置的攻击向量?或者他们只能打开一个本地资源页面(about:-page)?!
  • 如果更改安全设置不起作用,插件是否可以打开“about:profiles”页面?
  • 但是为什么会有人这样做呢?你可以open plugin's setting page,我认为这是你唯一需要的。 security stackexchange上还有一个和这个类似的问题,不过答案大同小异。
  • 为了讨论如何,方式真的很重要吗?其他人可能会寻找相同的答案,但原因却截然不同。 Anywho 如果它可以帮助您了解我的“个人原因” - 目前没有辅助工具,无法通过单击重新启动 Firefox。但是你可以通过about:preferences,那里有一个重启按钮。
  • 所以我试图找到一种方法,以尽可能少地进行不必要的点击和鼠标移动,让每个人(请参阅here)进行复制——单击将是最终目标。或者使用我当前的解决方案:单击两次,但不需要固定标签。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-01
  • 1970-01-01
  • 2010-10-03
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
相关资源
最近更新 更多