好的。我只想尝试在Facebook.com
DOM元素中使用jQuery库。实际上,Facebook没有使用jQuery
。因此,我尝试在JS
段下方注入以使jQuery
可用于该页面。
var jq = document.createElement('script');
jq.src = "//code.jquery.com/jquery-latest.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
setTimeout(function () {
$jq = jQuery.noConflict();
}, 5000);
但是,我无法使用任何&jQuery'任何浏览器的功能。 $
已经从facebook&我收到jQuery
,$jq
等变量的错误。上述代码适用于包括Google.com
在内的其他网站。
在Chrome中,它在facebook.com
上也会出现以下错误。
拒绝加载脚本 ' https://code.jquery.com/jquery-latest.min.js'因为它违反了 遵循内容安全策略指令:" script-src * .facebook.com * .fbcdn.net * .facebook.net * .google-analytics.com * .virtualearth.net * .google.com 127.0.0.1:* * .spotilocal.com:*' unsafe-直列' '不安全-EVAL' * .akamaihd.net * .atlassolutions.com blob:chrome-extension:// lifbcibllhkdhoafpjfnlhfpfgnpldfl"。
有人遇到过这个问题吗?请分享。在此先感谢。
注意:我可以粘贴jQuery
功能。将整个代码执行到控制台但我需要知道导致此问题的原因&任何替代解决方案(如果有的话)。
答案 0 :(得分:5)
您面临的问题是内容安全策略标头。这允许仅从页面本身的HTTP标头中提供的白名单站点使用脚本。您可以在HTML5Rocks上详细了解其工作原理。
此策略无法解决:Facebook使用它来阻止人们被说服(请参阅“社交工程”)执行任意Javascript代码,以便其他人访问其帐户。
最好的解决方案不是使用jQuery库,而是使用本机Javascript来进行操作。
答案 1 :(得分:0)
只需复制content of the library并将其粘贴到Facebook控制台中即可。