JavaScript可以访问<script src =“”>元素的源代码吗?</script>

时间:2011-02-01 13:10:22

标签: javascript html ajax

<script id="s1" src="foo.js"></script>
<script>
    alert('foo.js contains' + _source_code_of('s1'))
</script>

可以实施_source_code_of吗?

2 个答案:

答案 0 :(得分:10)

不,这将允许检索任何URL的内容,这将破坏一些安全策略。 (这相当于没有同域检查的ajax get请求。)

但是,由于foo.js与页面位于同一个域中,因此您可以使用ajax请求获取它。 jQuery示例:

$.get('foo.js', function(source_code) {
    alert('foo.js contains ' + source_code);
});

答案 1 :(得分:1)

不,不是出于基本安全原因。

您使用Ajax标记此事实意味着您正在尝试将其用作检索数据的方法。如果是这样,最接近的类似方法是JSONP,其中新加载的脚本调用方法将数据传递回父文档。