我正在尝试使用外部js文件在div中加载内容。
js文件的加载量与divs加载量一样多。 例如:
<div class="classname1" userId="101010" unitId="111"></div>
<script src="//example.com/js/thefile.js"></script>
<div class="classname2" userId="101010" unitId="222"></div>
<script src="//example.com/js/thefile.js"></script>
<div class="classname2" userId="101010" unitId="333"></div>
<script src="//example.com/js/thefile.js"></script>
此代码将提供给用户,以将其嵌入他们的网站中。说,它将嵌入在example2.com和example3.com中。
当js在此站点加载时,代码读取属性,并根据属性显示div中的相关内容。
该脚本在Firefox中运行良好(例如:如果有3个嵌入代码,则浏览器将显示3个内容),但在Chrome上效果不佳(仅显示一个内容)。
正如我指出的那样,Chrome浏览器检测到js加载次数,例如3次,但是第一段代码有效,而其他代码无效。
注意:当我使用技巧时,它可以在Chrome中使用,但我不想使用这种简单的解决方案:我通过添加?v = 1,?v = 2和?v来更改每个嵌入代码的src url .js文件后= 3。
任何解决此问题的想法都会受到赞赏。
答案 0 :(得分:4)
真正的问题不是文件没有被加载3次,而是代码没有被执行3次。
浏览器应缓存文件。并且,当包含同一文件多次时,可能会出现不一致的行为。使用随机数,例如v1等将禁用缓存。最好的做法是将JS文件的功能包装到一个函数中,然后仅将文件加载一次。您可以简单地调用该函数3次,也可以根据需要多次调用。