Chrome浏览器中新标签页无法使用JavaScript书签工具

11

我有一个 JavaScript 书签小工具,它会将提示的值添加到 www.oracle.com 并在新标签页中打开该网址。

javascript:window.location.href='http://www.oracle.com/'+prompt("Please enter your input:", "exadata");

在Firefox中,这个操作很正常。如果我有一些打开的选项卡和一些网站,点击这个书签,会打开预期的"oracle.com" 值填充的网站。 如果我是在新标签页中,这也能正常工作,会打开预期的Oracle网址。

但在Chrome中,只有在我有某个网站的选项卡已经加载过并且单击此书签时才起作用。 但是,如果我在新标签页上,单击此书签将不起作用。 它甚至没有显示提示框。

我错过了什么吗? 这是否与firefox和chrome中如何处理新标签页有关?


不确定您的书签工具出了什么问题,但有一种比书签工具更好的方法。创建自定义搜索引擎。在地址栏中输入:chrome://settings/searchEngines,点击“添加”按钮,在表单中添加 Oracle,下一个字段添加 or,最后一个字段输入 'http://www.oracle.com/%s,然后单击保存按钮。现在在地址栏中键入 or,按空格键,现在输入您想要的字符串,就像在提示框中一样。 - epascarello
@epascarello 是的,那可能是另一种解决方案,但我想知道为什么 JavaScript 在新标签页上不起作用。 - Kuldeep Singh
1个回答

22

这似乎是由于新标签页禁用javascript的安全原因导致的问题。

更多细节可以在此处查看:https://bugs.chromium.org/p/chromium/issues/detail?id=98871#c2

从上述问题的评论中,我发现如果我们将其视为数据网址(https://bugs.chromium.org/p/chromium/issues/detail?id=98871#c7),同样可以实现相同的效果:

data:text/html,<script>window.location.href='http://www.oracle.com/'+prompt("Please enter your input:", "exadata");</script>

希望这有所帮助。


这在Chromium中是有效的,但在Vivaldi中却无效。它会打开一些奇怪的编码符号。Vivaldi版本为6.1.3035.204。我已经提交了错误报告VB-99070。 - Ashark

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