繁体   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