我有一些脚本在我的应用程序的所有html页面中很常见。将此文件命名为commonfunctions.js。当您在应用程序中移动时,每个html页面都会加载它,并附加此js文件的最后修改日期(从服务器获取)。 Firebug每次都会将文件添加到加载的脚本列表以及eval / seq /#(其中#是此文件从7开始加载的次数由于某种原因)。例如,如果我有3个名为one.html,two.html和three.html的页面,每个页面都包含以下代码:
<script type="text/javascript" src="commonfunctions.js?mod=11/33/2012"></script>
如果我要从one.html-&gt; two.html-&gt; one.html-&gt; three.html转到,Firebug会将加载的脚本列为:
commonfunctions.js?MOD = 11/33/2012年
commonfunctions.js?MOD = 11/33/2012 / EVAL / SEQ / 7
commonfunctions.js?MOD = 11/33/2012 / EVAL / SEQ / 8
commonfunctions.js?MOD = 11/33/2012 / EVAL / SEQ / 9
等等,因为我更多地访问了这三页。
为什么会发生这种情况并且有办法阻止它吗?我读到,如果由于eval()或event属性而不知道url,firebug可能会创建自己的url;但是,这些脚本是通过常规标签加载的。
我很担心,因为我不确定这是否意味着浏览器现在已经编译并正在执行或存储同一脚本的多个副本 - 这两种情况都非常浪费。
答案 0 :(得分:0)
脚本可能是通过脚本标记加载的,但是在commonfunctions.js中的某个地方已经调用了eval()
。或者显然是三个。