【问题标题】:How to identify a javascript file is loaded successfully in Script如何识别一个javascript文件在Script中成功加载
【发布时间】:2013-03-02 20:24:29
【问题描述】:

我想从外部服务器添加一个js文件,比如

  <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry"></script>

我如何识别文件是否已成功加载以编程方式(不在控制台中)?

【问题讨论】:

  • 在 chrome inspector / firebug 中观看网络标签
  • 我如何以编程方式知道它?
  • 您使用 google stackoverflow.com/questions/3768768/… 并关闭您的问题
  • 该问题与动态加载有关...

标签: javascript


【解决方案1】:

在您的脚本标签下的 javascript 中,您可以检查该文件中的某些函数是否可以在您的代码中访问:

if (myFunction){
  //  file loaded successfully
}

myFunction 是该文件中的某个函数

【讨论】:

    【解决方案2】:

    不使用包管理器 (require.js),它依赖于库提供的回调。否则,只检查函数是否存在,如果不存在,请稍后再试

    // Stop checking after 10 seconds
    var scriptTimedOut = window.setTimeout(function() {
        window.clearInterval(checkIfLoaded);
        alert("Script took more than 10secs, so give up");
    }, 10000);
    
    // Check every 1 second if the function exists in the script yet
    var checkIfLoaded = window.setInterval(function() {
        if (someFunctionInTheScript) {
            // The script is loaded so stop checking
            window.clearInterval(checkIfLoaded);
            window.clearTimeout(scriptTimedOut);
        }
    }, 1000);
    

    【讨论】:

    • 但是如果文件加载失败,您的检查将永远持续下去。除非实现异步加载,否则没有必要再检查一次
    • 我认为应该是window.clearInterval(checkIfLoaded);(没有撇号)
    【解决方案3】:

    在 Firefox 或 chrome 中打开您的页面。并检查网络流量(在 firebug 或 chrome 控制台中),看看是否可以看到 js 文件的内容。

    【讨论】:

    • 我如何以编程方式做到这一点?
    猜你喜欢
    • 1970-01-01
    • 2012-02-07
    • 2012-05-23
    • 2016-02-29
    • 2020-12-07
    • 2011-08-19
    • 2020-04-15
    • 2013-01-20
    • 2012-05-24
    相关资源
    最近更新 更多