首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从javascript调用javascript

从javascript调用javascript
EN

Stack Overflow用户
提问于 2012-03-28 00:37:38
回答 2查看 78关注 0票数 0

我需要将下面的整个代码放在一个名为activate.js的javascript中。你能告诉我是怎么做到的吗?

代码语言: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>
EN

回答 2

Stack Overflow用户

发布于 2012-03-28 03:45:46

正如我在上面的评论中提到的,你不能做你想做的事情,因为JavaScript本身没有包含其他JavaScript文件的机制。JavaScript文件使用HTML script元素包含在文档中。

但是,我们可以编写一个包含在文档中的脚本("active.js"),这将为每个外部JavaScript文件手动创建一个额外的脚本元素。然而,应该注意的是,这可能会降低性能,因为我们正在创建额外的HTTP请求。

我认为您还需要将当前的内联脚本分离到一个外部文件中,以避免在加载之前引用"tyr1.js“的元素的”鸡对蛋“的情况。

因此,您的"active.js“脚本如下所示:

代码语言:javascript
复制
/**
 * 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部分。

票数 2
EN

Stack Overflow用户

发布于 2012-03-28 00:40:17

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

将内容复制并粘贴到文本文档中(不带<script>标签)。然后将其复制并粘贴到下面:

代码语言: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();

最后,将文本文档另存为activate.js。这是我能想到的最好的方法:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9893848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档