在多个位置加载相同的javascript文件

时间:2013-09-26 20:52:06

标签: javascript

<script type="text/javascript" src="http://example.com/show_ad.js"></script>

我将上面的行放在页面的多个位置。该脚本将在页面上放置一个iframe元素。问题是当我多次使用此脚本时脚本只加载一次。有人有解决方案吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

不是每次要在页面上放置script时都向页面添加iframe标记,为什么不将iframe放在那里呢?

如果你真的想使用你当前使用的方法,请在某个排序函数中包含show_ads.js代码(如var show_ads = function () {...}),并在页面上添加其他javascript来调用此函数需要它,并捕获iframe。然后将iframe插入到您想要的位置的页面中,而不是在其中放置script标记。

答案 1 :(得分:0)

我今天偶然发现了这篇文章,http://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/

它讨论了如何在iframe中沙盒第三方JavaScript文件,以便它们不会相互冲突。不能做任何恶意的事。

在查看您自己编写脚本的评论后,您可能希望尝试将整个脚本包装在closure中。例如:

(function() {
 // script here
})();

它将确保您定义的全局变量不会发生冲突/仅存在于该闭包中。