我使用<鏈接>屬性包含一個.js文件。HTML:< link >標記不應該多次讀取1個同一文件
<script type="text/javascript" src="script.js"></script>
我想提出一個條件,它不應該在頁面中包含多次。 我怎樣才能把這樣的條件只在HTML中。如果這僅僅是使用HTML的可能性,那麼我可以使用哪些其他選項來放置這種情況。
我使用<鏈接>屬性包含一個.js文件。HTML:< link >標記不應該多次讀取1個同一文件
<script type="text/javascript" src="script.js"></script>
我想提出一個條件,它不應該在頁面中包含多次。 我怎樣才能把這樣的條件只在HTML中。如果這僅僅是使用HTML的可能性,那麼我可以使用哪些其他選項來放置這種情況。
我認爲這不可能與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>
創建您的script.js文件中的全局變量,像:
var isIncluded = true;
然後包括你的腳本,像這樣
<script>!window.isIncluded && document.write('<script src="script.js"><\/script>')</script>
除非你的腳本pt在加載時執行代碼可能足以確保您的JS文件被緩存。然後在最糟糕的情況下,您只會發送一個if-modified-since查詢,其開銷很小,特別是在支持HTTP流水線的情況下。
`isIncluded`不是全局變量,而且這隻適用於單個腳本。 – ClosureCowboy 2011-02-07 00:10:39