好吧......我一直在寻找一个小时......如何获得脚本标签的innerHTML?这是我一直在做的......
<script type="text/javascript" src="http://www.google.com" id="externalScript"></script>
<script type="text/javascript">
function getSource()
{document.getElementById('externalScript').innerHTML;
}
</script>
我一直在尝试使用脚本标记调用另一个域的页面源。我见过一个有效的例子,但在我的生活中找不到它......
答案 0 :(得分:3)
你做不到。没有innerHTML ....所有你能做的就是下拉文件视图XMLHttpRequest来获取它的内容....但是当然,这受到同源策略的限制,但脚本标签不是。遗憾。
答案 1 :(得分:0)
实际上,有一种获取内容的方法,但它取决于远程服务器,让您获得没有有效标头的文件,并且由于这些设置仍然会失败很多时间。使用jQuery,因为这是我一天的结束,我出门了......
$.get($('#externalScript').attr('src'), function(data) {
alert(data);
});
答案 2 :(得分:0)
我猜你想要两件事之一:
要使JavaScript文件成为全局(以便其他页面可以调用它)
获取当前位于文件中的脚本
通过将脚本移动到.js文件,然后使用标记
,可以解决这两个问题<script src="[path-to-file]"></script>
答案 3 :(得分:-1)
你不能这样做。如果可以的话,这将是一个巨大的安全问题。
脚本内容可以包含任意数量的内容。请考虑这一点:从银行网站上的URL加载的脚本可能包含各种内容,例如您的帐号,余额和其他个人信息。该脚本将由银行的普通页面加载,以执行他们想要做的事情。
现在,我是一个邪恶的黑客,我怀疑你可能是Biggo银行的客户。因此,在我自己的一个页面上,我为Biggo Bank脚本添加了<script>
标记。只有在有效的Biggo银行会话cookie时才会加载脚本,但是如果有的话会怎样?如果您在另一个浏览器选项卡中登录Biggo Bank时访问我的黑客站点,该怎么办?现在我自己的JavaScript代码可以读取该脚本的内容,而你的钱现在是我的:)
答案 4 :(得分:-2)
您可以使用Html解析器:
jsoup»jsoup:Java HTML Parser jsoup:Java HTML Parser
jsoup是一个用于处理真实HTML的Java库。它提供了一个非常方便的API,用于提取和操作数据,使用最好的DOM,CSS和类似jquery的方法。