我使用以下命令包含jquery外部js文件:
<script type='text/javascript' src='js/jquery-1.11.0.js' ></script>
我将在同一页面中再次调用它(这是因为我在php类中包含它以确保在继续之前加载它)。所以在页面中,我将在不同的地方有2倍的行:
<script type='text/javascript' src='js/jquery-1.11.0.js' ></script>
我想知道这是否会在我的页面中产生问题,如果脚本jquery将被加载2次,这将是无效的。
谢谢,
约翰。
答案 0 :(得分:3)
这将为包含在这两个包含之间的任何插件创建问题。例如,如果您有:
<script type='text/javascript' src='js/jquery-1.11.0.js' ></script>
<script type='text/javascript' src='js/jquery-plugin.js' ></script>
<script type='text/javascript' src='js/jquery-1.11.0.js' ></script>
jquery-plugin.js将被覆盖,但无效。
答案 1 :(得分:3)
它将被包括两次。没有必要这样做。如果你绝对必须在两个地方写包含标签,那就第二次有条件地做。以下代码仅包括jQuery,如果它尚未包含在内。
<script>
window.jQuery || document.write('<script src="js/jquery-1.11.0.js"><\/script>')
</script>
答案 2 :(得分:0)
应该没问题,特别是在现代浏览器中,但这样做有点奇怪。
如果您在第一个脚本标记之后加载jQuery插件,那么这些插件将不再有效,因为jQuery
/ $
已经重新初始化。
我想不出你需要加载这两次的任何理由 - 你确定需要吗?最好的办法是在关闭<body>
标记之前将脚本标记放在页面底部。
答案 3 :(得分:0)
根据库的不同,包括它可能会产生不良影响。
可以这样想,如果你有一个脚本将click事件绑定到一个按钮,并且你包含该脚本两次,那么当点击该按钮时,这些动作将被运行两次。
您可以编写一个简单的函数,您可以调用该函数来加载脚本并让它跟踪已加载的文件。或者,我确信您可以使用预先存在的JS加载程序(如LabJS)并对其进行修改。
<小时/> 参考:What is the danger in including the same JavaScript library twice