使 jQuery 库在 Facebook.com 域中可用
Make jQuery library available in Facebook.com domain
好的。我只是想在 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
上给出了以下错误。
Refused to load the script
'https://code.jquery.com/jquery-latest.min.js' because it violates the
following Content Security Policy directive: "script-src
*.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* 'unsafe-inline' 'unsafe-eval' *.akamaihd.net *.atlassolutions.com
blob: chrome-extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl".
有人遇到过这个问题吗?请分享。提前致谢。
注意 :我可以通过将整个代码粘贴并执行到控制台来利用 jQuery
功能,但我需要知道导致此问题的原因和任何替代解决方案(如果有的话)。
您遇到的问题是内容安全策略 header。这允许仅使用来自页面本身的 HTTP header 中提供的白名单站点的脚本。您可以阅读更多有关 HTML5Rocks.
的工作原理的信息
没有办法绕过此政策:Facebook 使用它来防止人们被说服(参见 "Social engineering")执行任意 Javascript 代码,让其他人访问他们的帐户。
最好的解决方案是不使用 jQuery 库,而是使用本机 Javascript 进行操作。
只需复制 content of the library 并将其粘贴到 facebook 控制台。
好的。我只是想在 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
上给出了以下错误。
Refused to load the script 'https://code.jquery.com/jquery-latest.min.js' because it violates the following Content Security Policy directive: "script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* 'unsafe-inline' 'unsafe-eval' *.akamaihd.net *.atlassolutions.com blob: chrome-extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl".
有人遇到过这个问题吗?请分享。提前致谢。
注意 :我可以通过将整个代码粘贴并执行到控制台来利用 jQuery
功能,但我需要知道导致此问题的原因和任何替代解决方案(如果有的话)。
您遇到的问题是内容安全策略 header。这允许仅使用来自页面本身的 HTTP header 中提供的白名单站点的脚本。您可以阅读更多有关 HTML5Rocks.
的工作原理的信息没有办法绕过此政策:Facebook 使用它来防止人们被说服(参见 "Social engineering")执行任意 Javascript 代码,让其他人访问他们的帐户。
最好的解决方案是不使用 jQuery 库,而是使用本机 Javascript 进行操作。
只需复制 content of the library 并将其粘贴到 facebook 控制台。