Chrome可以使用Bookmarklet吗?

时间:2013-04-23 00:14:17

标签: javascript jquery google-chrome

我试图在chrome中创建一个bookmarklet(我正在使用控制台)。我收到以下错误:

Refused to load the script 'https://code.jquery.com/jquery-1.6.1.min.js' because
it violates the following Content Security Policy directive: "script-src 
https://*.facebook.com http://*.facebook.com https://*.fbcdn.net 
http://*.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net
*.google.com 127.0.0.1:* *.spotilocal.com:* 
chrome-extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl 'unsafe-inline' 
'unsafe-eval' https://*.akamaihd.net http://*.akamaihd.net".

我的代码是

var jQueryLib = document.createElement("script");
jQueryLib.src = "https://code.jquery.com/jquery-1.6.1.min.js";
document.body.appendChild(jQueryLib);

这是否意味着不再可能创建bookmarklet?我想做的就像在我的Facebook小组上发表一些新评论,并认为书签是个好主意。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

从该错误消息中可以看出Bookmarklet本身没有问题。问题是Facebook已经声明了可以运行脚本的域列表。当您尝试注入jQuery脚本时,它会看到域(本例中为jquery.com)不在允许列表中并拒绝运行它。

作为替代方案,您可以将整个jQuery文件复制并粘贴到控制台中。这将绕过内容限制。您还可以将整个jQuery库转换为书签,以便更容易地添加到页面中。

答案 1 :(得分:-1)

是的,Chrome中允许使用Javascript书签。例如,将下面的代码复制并粘贴到书签中。将标题更改为您想要的任何内容,但将下面的代码粘贴到URL部分。然后按它。

javascript:alert(“看,它有效”);