【问题标题】:Asynchronous Javascript loading different behaviour异步 Javascript 加载不同的行为
【发布时间】:2012-11-26 12:33:48
【问题描述】:

我正在开发一个小部件,并且正在使用 extJS 框架(以及 stomp、轨道服务器)。它需要 5 个不同的 Javascript 文件。为了避免影响用户的加载时间,我尝试异步加载它们。

通过一些回调堆栈,我设法按需要的顺序异步加载它们。

但是,小部件在异步情况下根本不起作用。然后,我从 Chrome 的开发人员工具中复制了“修改后的”结果 HTML DOM,并创建了一个静态 HTML 文件。

静态文件有效。当在这两种情况下加载不同的 JS 文件时,我会打印一些警报。这些警报的顺序是相同的。

如何检测并修复错误。经过大量调试后难住了。

(链接在生产服务器上已删除。设法检测到问题并找到解决方法 - 请参阅下面的答案 - 保留以供任何人参考)。

【问题讨论】:

  • 这个问题对我来说不够清楚,你是如何加载文件的?
  • 请查看 final.php 的源代码。它获取单个 Js 文件 embedd.js。该脚本依次加载需要的 5 个 JS 文件

标签: asynchronous extjs dom-events unobtrusive-javascript


【解决方案1】:

问题是 Ext.onReady 在文档准备好后立即被调用,这是在任何其他脚本异步加载之前。

因此,初始化代码没有被调用。我设法通过在加载的最后一个 javascript 中调用 Ext.each("dummy args", initialization_function, this) 来解决它。这让事情对我有用。

【讨论】:

    猜你喜欢
    • 2011-06-05
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 2017-12-18
    • 2011-08-29
    • 1970-01-01
    相关资源
    最近更新 更多