HTML:<链接>标签不应多次获取同一个文件

时间:2011-02-07 00:02:30

标签: javascript html html5

我使用<包含.js文件链接>属性。

<script type="text/javascript" src="script.js"></script>

我想提出一个不应该在页面中包含多次的条件。 我怎么能把这样的条件只放在HTML中。如果仅使用HTML无法做到这一点,那么我可以使用哪些其他选项来设置这种条件。

3 个答案:

答案 0 :(得分:3)

我认为HTML无法实现。 使用JavaScript。

// keep track of scripts
var scripts = { };

function includeOnce(s) {
  // if the script is not included before
  if (!(s in scripts)) {
    // add script
    var sc = document.createElement('script');
    sc.src = s;
    document.body.appendChild(sc);
    scripts[s] = 1;
  }
}

要包含脚本:

<script>{ include_once("script.js") }</script>

答案 1 :(得分:0)

除非您的脚本在加载时执行代码,否则可能足以确保缓存JS文件。然后在最糟糕的情况下,您只发送一个if-modified-since查询,其开销很小,尤其是在支持HTTP流水线的情况下。

答案 2 :(得分:-1)

在script.js文件中创建一个全局变量,如:

var isIncluded = true;

然后包含你的脚本

<script>!window.isIncluded && document.write('<script src="script.js"><\/script>')</script>