我目前正在为某个网站编写用户脚本。我想要完成的任务需要使用页面变量和函数访问内容范围。
这种事情的标准操作过程似乎是一个向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一起使用。有没有更好的方法来访问页面变量?