如何将用户脚本注入使用CSP的站点?

时间:2014-03-03 23:19:50

标签: javascript userscripts content-security-policy

我目前正在为某个网站编写用户脚本。我想要完成的任务需要使用页面变量和函数访问内容范围。

这种事情的标准操作过程似乎是一个向DOM注入新的<script>标记的函数,如下所示:

function injectScript(f) {
    var target = document.head || document.documentElement;
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.text = "(" + f.toString() + ")();";

    target.appendChild(script);
    target.removeChild(script);
}

但是,此方法不起作用,因为该网站具有内容安全策略,可防止注入的脚本标记执行!我也尝试了位置黑客(基本上是location.href="javascript:someCode()"),但计为内联脚本,不起作用。

unsafeWindow将是一个选项,遗憾的是只有Greasemonkey可用。理想情况下,我的脚本也应该与Chrome一起使用。有没有更好的方法来访问页面变量?

0 个答案:

没有答案