在IE中加载外部js

时间:2011-05-13 07:26:56

标签: javascript internet-explorer

我想加载外部javascript文件但由于同源策略我无法使用AJAX请求,并且我有一个代码:

<script type="text/javascript">
    var head = document.getElementsByTagName('head')[0];
    var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = 'test.js';
    head.appendChild(script);
</script>

各处都可以(Firefox,Chrome,Opera,IE9,IE6),但IE8,IE7没有。
如何在IE8中使用?

3 个答案:

答案 0 :(得分:1)

document.write('<script language="javascript" src="test.js"><\/script>')怎么样?此外,您无需附加到head即可使用body

答案 1 :(得分:1)

尝试阅读JsonP:)

答案 2 :(得分:1)

我不确定你为什么在IE中出现问题,但以下是在Firefox 4,IE6和IE9(即我可用的浏览器)中运行的:

<html>
<head>

</head>
<body>
    <script type="text/javascript">
        var head = document.getElementsByTagName('head')[0];
        var script = document.createElement('script');
            script.type = 'text/javascript';
            script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js';
        head.appendChild(script);

        var interval = window.setInterval(function() {
            if (typeof($) !== "undefined") {
                $("<p>it worked!</p>").appendTo(document.body);
                window.clearInterval(interval);
            }
        }, 100);
    </script>

</body>
</html>