加载外部JS文件,为什么不运行?

时间:2014-03-26 14:20:47

标签: javascript html

我的javascript在html文件中工作正常,但是当我把它带到外部时它运行脚本有困难,google开发人员工具告诉我该文件已被加载,但我看不到证明它有效。

任何人都可以告诉我为什么js文件正在加载但没有运行?

以下是我用来引入它的代码。

function myFunc() {
    var head= document.getElementsByTagName('head')[0];
    var script= document.createElement('script');
    script.type= 'application/javascript';
    script.src= 'record.js';
    script.async = true;
    head.appendChild(script);
}

<button id='recbtn' onclick="myFunc()">Start Recording</button>

1 个答案:

答案 0 :(得分:0)

查看代码后,您尝试在record.js中添加此事件:

window.addEventListener('load', onPageLoaded, false);

问题是,如果用户点击了按钮来调用脚本,则此阶段已经加载了页面。删除事件监听器并明确调用onPageLoaded

// window.addEventListener('load', onPageLoaded, false); -- Remove this

function onPageLoaded()
{
    ...
}

onPageLoaded(); // Call this function as soon as record.js is loaded

这是updated jsFiddle