【问题标题】:"qx.Class is undefined" when loading a qooxdoo application in source mode以源代码模式加载 qooxdoo 应用程序时出现“qx.Class 未定义”
【发布时间】:2010-03-03 15:37:49
【问题描述】:

在源代码模式下加载 qooxdoo 应用程序时,我得到以下 javascript 错误链:

qx.Class 未定义 [打破这个错误] qx.Class.define("qx.lang.Object", Object.js(第 24 行)

qx.Class 未定义 [打破这个错误] qx.Class.define("qx.lang.Type", Type.js(第 23 行)

qx.lang 未定义 [打破这个错误] errorToString : qx.lang.Object.select( Core.js(线 61)

qx.core.Property 未定义 [打破这个错误] qx.core.Property.attach(clazz); Class.js (1478)

qx.lang.Type 未定义 [打破这个错误] (qx.lang.Type.isObject(value) || typeof value === "object"); Assert.js (ligne 632)

qx.lang.Type 未定义 [打破这个错误] qx.lang.Type.isFunction(value) ||这.__失败( Assert.js (ligne 504)

qx.lang.Type 未定义 [打破这个错误] qx.lang.Type.isFunction(value) ||这.__失败( Assert.js (ligne 504)

qx.lang.Type 未定义 [打破这个错误] qx.lang.Type.isFunction(value) ||这.__失败( Assert.js (ligne 504)

qx.log.Logger 未定义 [打破这个错误] qx.log.Logger.register(statics); Native.js(119 线)

qx.lang.Type 未定义 [打破这个错误] (qx.lang.Type.isObject(value) || typeof value === "object"); Assert.js (ligne 632)

qx.lang.Object 未定义 [打破这个错误] statics.FROM_CHARCODE = qx.lang.Object.invert(statics.TO_CHARCODE) String.js (line 447)

qx.lang.Type 未定义 [打破这个错误] qx.lang.Type.isString(value) ||这.__失败( Assert.js (line 518)

qx.lang.Core 未定义 [打破这个错误] Stack.prototype.indexOf = qx.lang.Core.arrayIndexOf; BaseArray.js (线 496)

qx.log.Logger 未定义 [打破这个错误] qx.log.Logger.deprecatedConstantWarning( ITableModel.js (line 268)

qx.locale.Date 未定义 [打破这个错误] MONTH_YEAR_FORMAT : qx.locale.Date...teTimeFormat("yyyyMMMM", "MMMM yyyy") DateChooser.js (111)

请注意,这些错误是使用 Qooxdoo 1.0 和 1.0.1、Firefox 3.6 和 Firebug 1.5.2 获得的。 我用 Internet Explorer 进行了测试,我得到了相同类型的 javascript 错误。

据我了解,js 文件似乎没有按正确的顺序加载/评估。

下面是js文件的加载顺序: 索引.html ria.js RemoteProxy.js 引擎.js 实用程序.js 引导程序.js 设置.js 引擎.js __System.pageLoaded.dwr 变体.js 对象.js 类型.js 方面.js 类.js

在构建模式下,一切都按预期工作。

【问题讨论】:

  • 您是否使用浏览器的 File-Open 加载 index.html(file:// 协议)?
  • 不,我使用标准的 http url。请注意,它在构建模式下按预期工作。很奇怪,我们做了另一个基于qooxdoo的应用,没有这个问题(但是用v0.8.2)。

标签: qooxdoo


【解决方案1】:

在我看来,JS 文件根本没有加载。如果文件加载正确,请检查 Firebug 的“Net”选项卡。

“source”和“build”版本的主要区别在于 JS 文件的加载。 “源”版本确实单独加载每个 JS 文件/类以支持轻松调试。 “构建”版本确实将所有必要的类合并到一个 JS 文件中。

因此,您的 Web 服务器可能无法访问只有框架的路径。只是猜测。

【讨论】:

  • 我确认js文件加载正确。在 Firebug 中,我什至可以检查每个文件的源代码。
【解决方案2】:

我终于发现问题出在哪里了。

由于我不清楚的原因,eclipse 会混淆 v1.0 和 v1.0.1 的类。并且因为类的定义方式在两个版本之间发生了变化(v1.0 使用 qx.Bootstrap.define,v1.0.1 使用 qx.Class.define),所以不兼容。

无论如何,现在它正在工作,我可以玩了:)

【讨论】:

  • 这里还有一个在线部分讨论了从 Web 服务器运行源版本:qooxdoo.org/documentation/1.0/…
  • Patris,你能告诉我你是如何解决这个问题的吗?我也面临同样的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-14
  • 1970-01-01
相关资源
最近更新 更多