簡體   English   中英

從javascript調用javascript

[英]Calling a javascript from a javascript

我需要將以下全部代碼放在名為activate.js的javascript中。 你能告訴我怎么樣嗎?

<script type="text/javascript" src="http://domain.com/tyr1.js"></script>
<script type="text/javascript">
var int = new int({
    seconds: 30,
    markUser: true,
    markPeriod: 0
});
pop.add("http://www.google.com", "google", "0");
pop.add("http://www.yahoo.com", "yahoo", "1");
pop.add("http://www.bing.com", "bing", "2");
pop.show();
</script>

正如我在上面的評論中所提到的,由於JavaScript本身沒有包含其他JavaScript文件的機制,因此無法完成您想要的任務。 JavaScript文件使用HTML腳本元素包含在文檔中。

但是,我們可以編寫一個包含在文檔中的腳本(“active.js”),並為每個外部JavaScript文件手動創建一個額外的腳本元素。 然而,應該注意,由於我們正在創建額外的HTTP請求,因此性能可能會下降。

我認為你還需要將你當前的內聯腳本分成一個外部文件,以避免出現“雞與蛋”的情況,你在加載之前指的是“tyr1.js”的元素。

所以你的“active.js”腳本就像這樣:

/**
 * Combined JavaScript files (active.js)
 *    - Creates script elements for any additional JS files
 */
(function() {
    var head = document.getElementsByTagName('head')[0];

    // Scripts to include
    var js = [
        'http://domain.com/tyr1.js',
        '/inline.js'    /* Change path to where this is located */
    ];

    // Clone for every external script that needs to be included
    var jsElem = document.createElement('script');
    jsElem.type = 'text/javascript';

    // Step through scripts to include
    for (var i=0; i<js.length; i++) {
        var newJsElem = jsElem.cloneNode(false);
        newJsElem.src = js[i];

        // Append to HEAD section
        head.appendChild(newJsElem);
    }
})()

這當然假設您的腳本將放在文檔的HEAD部分。

打開此文件: http://domain.com/tyr1.jshttp://domain.com/tyr1.js

將內容復制並粘貼到文本文檔中(不帶<script>標記)。 然后將其復制並粘貼到它下面:

var int = new int({
    seconds: 30,
    markUser: true,
    markPeriod: 0
});
pop.add("http://www.google.com", "google", "0");
pop.add("http://www.yahoo.com", "yahoo", "1");
pop.add("http://www.bing.com", "bing", "2");
pop.show();

最后,將文本文檔另存為activate.js 這是我能想到的最佳方式:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM