Javascript 从Chrome/FF打开小书签“;“工作台”;

Javascript 从Chrome/FF打开小书签“;“工作台”;,javascript,google-chrome,firefox,bookmarklet,Javascript,Google Chrome,Firefox,Bookmarklet,在Chrome/Firefox(ctrl+t)中打开新选项卡时,默认情况下会打开一种“工作台”页面: 我有一个非常普通的书架,上面有以下URL: javascript:location.href=”http://google.com“ 虽然从任何“正常”页面打开时都能完美工作,但当我在“工作台”模式(Chrome和FF)下单击书签时,绝对没有反应。浏览器中的URL根本不会更改。(更新:更简单的javascript:alert(“test”)bookmarklet在此模式下也不会给出任何结果)

在Chrome/Firefox(ctrl+t)中打开新选项卡时,默认情况下会打开一种“工作台”页面:

我有一个非常普通的书架,上面有以下URL:

javascript:location.href=”http://google.com“

虽然从任何“正常”页面打开时都能完美工作,但当我在“工作台”模式(Chrome和FF)下单击书签时,绝对没有反应。浏览器中的URL根本不会更改。(更新:更简单的
javascript:alert(“test”)
bookmarklet在此模式下也不会给出任何结果)

由于workbench是我打开书签的常用位置,所以我非常希望能够从那里打开我的bookmarklet

问题可能与bookmarklet定义的这一部分有关:

脚本在当前页面的上下文中执行

而且workbench可能和普通的HTML页面并没有什么相似之处。无论如何,我很乐意找到一些解决办法


注:当然,我的目标是制作比这个更复杂的bookmarklet,但我想从任何能解决这个问题的东西开始:-)。

我认为你正确地分析了这个问题,我知道没有直接的解决方案

我在Firefox和Chrome上使用的变通方法是在我的新标签页上使用
about:blank
,我更喜欢这样。在Chrome中,这需要一个扩展


如果您想为新选项卡页面保留“工作台”并使用该页面的bookmarklet,则必须编写或查找扩展/加载项,尽管这可能是不可能的;我从未调查过。

您在新选项卡页面中遇到问题,因为在chrome://页面上进行了安全检查

我们允许在omnibox中键入的JavaScript URL绕过CSP。这是 Cris添加到block omnibox JavaScript中的单独安全检查 为了安全起见,在chrome页面上设置URL

[]

解决方法是让bookmarklet创建一个新页面并将JavaScript注入其中。下面是一个可以保存在书签中的URL示例

data:text/html,警报('This works')