首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何动态加载javascript文件?

如何动态加载javascript文件?
EN

Stack Overflow用户
提问于 2011-03-09 00:31:02
回答 5查看 102.5K关注 0票数 30

我有这样的代码:

代码语言:javascript
复制
    <script type="text/javascript">
    function js() {
        var getJs = document.getElementById("jogo");

        if (JS == true) { //if button JS is pressed - it is correct?

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


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

它不起作用。我给了两个按钮,如果第一个按钮被按下,file1.js应该会被加载。如果按下第二个按钮,则应加载file2.js

我该怎么做呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-09 00:36:43

您不能以这种方式在Javascript中嵌入HTML。基本上,您想要的是嵌入一个script元素,在单击按钮时指向某个javascript文件。这可以通过将事件与DOM相结合来实现:

代码语言:javascript
复制
<script type="application/javascript">
function loadJS(file) {
    // DOM: Create the script element
    var jsElm = document.createElement("script");
    // set the type attribute
    jsElm.type = "application/javascript";
    // make the script element load file
    jsElm.src = file;
    // finally insert the element to the body element in order to load the script
    document.body.appendChild(jsElm);
}
</script>
<button onclick="loadJS('file1.js');">Load file1.js</button>
<button onclick="loadJS('file2.js');">Load file2.js</button>
票数 72
EN

Stack Overflow用户

发布于 2011-03-09 00:35:23

试试这个大小:Dynamically Load JS

代码语言:javascript
复制
function loadjscssfile(filename){
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}

loadjscssfile("myscript.js") //dynamically load and add this .js file
票数 12
EN

Stack Overflow用户

发布于 2011-03-09 00:36:04

JavaScript:

代码语言:javascript
复制
function loadScript(url)
{
    document.body.appendChild(document.createElement("script")).src = url;
}
function loadDefaultScript()
{
    loadScript("http://mysite.com/file1.js");
}
function loadAlternateScript()
{
    loadScript("http://mysite.com/file2.js");
}

HTML:

代码语言:javascript
复制
<input type="button" onclick="loadAlternateScript()" value="Alternate" />
<input type="button" onclick="loadDefaultScript()" value="Default" />
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5235321

复制
相关文章

相似问题

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