2010-03-03 22 views
1

當加載在源模式中的應用程序的Qooxdoo,我得到的JavaScript錯誤的以下鏈:「qx.Class是未定義」加載在源模式中的應用程序的Qooxdoo時

qx.Class是在此未定義 [打破錯誤] qx.Class.define( 「qx.lang.Object」, Object.js(LIGNE 24)

qx.Class未定義 該誤差[BREAK] qx.Class.define(「qx.lang .type「, Type.js(ligne 23)

qx.lang is undefined [打破這個錯誤] errorToString:qx.lang.Object.select( Core.js(LIGNE 61)

qx.core.Property未定義 [該誤差打破] qx.core.Property.attach(clazz所); Class.js(LIGNE 1478)

qx.lang.Type未定義 [該誤差打破](qx.lang.Type.isObject(值)|| typeof運算值=== 「對象」); Assert.js(ligne 632)

qx.lang.Type is undefined [Break on this error] qx.lang.Type.isFunction(value)||此.__失敗( Assert.js(LIGNE 504)

qx.lang.Type是未定義 qx.lang.Type.isFunction(值[該誤差BREAK])||此.__失敗( Assert.js (LIGNE 504)

qx.lang.Type未定義 [該誤差BREAK] qx.lang.Type.isFunction(值)||此.__失敗( Assert.js(LIGNE 504)

qx.log.Logger is undefined [Break on this error] qx.log.Logger.register(statics); Native.js(ligne 119)

qx.lang.Type未定義 [Break on this error](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(LIGNE 447)[該誤差打破]

qx.lang.Type is undefined [Break on this error] qx.lang.Type.isString(value)||此.__失敗( Assert.js(LIGNE 518)

qx.lang.Core未定義 [該誤差BREAK] Stack.prototype.indexOf = qx.lang.Core.arrayIndexOf; BaseArray.js(LIGNE 496)

qx.log.Logger未定義 [該誤差打破] qx.log.Logger.deprecatedConstantWarning( ITableModel.js(LIGNE 268)

qx.locale.Date未定義 [打破在這個錯誤] MONTH_YEAR_FORMAT:qx.locale.Date ... teTimeFormat(「yyyyMMMM」,「MMMM yyyy」) DateCho oser.js(ligne 111)

請注意,這些錯誤已通過Qooxdoo 1獲得。0和1.0.1,Firefox 3.6和Firebug 1.5.2。 我使用Internet Explorer進行測試,並獲得相同類型的javascript錯誤。

從我的理解,似乎js文件沒有按正確的順序加載/評估。

下面是其中的js文件的加載順序: 的index.html ria.js RemoteProxy.js 的engine.js util.js中 Bootstrap.js Setting.js 的engine.js __System .pageLoaded.dwr Variant.js Object.js Type.js Aspect.js Class.js

在構建模式,一切正常。

+0

你加載使用瀏覽器的文件 - 打開(file://協議)中的index.html? – ThomasH 2010-03-03 17:35:45

+0

不,我使用標準的http url。請注意,它在構建模式下按預期工作。 很奇怪,我們在沒有這個問題的情況下創建了另一個基於qooxdoo的應用程序(但是使用了v0.8.2)。 – 2010-03-04 14:53:34

回答

1

在我看來,JS文件根本沒有加載。如果文件加載正確,您可以在Firebug的「Net」選項卡中檢查。

「source」和「build」版本的主要區別在於JS文件的加載。 「源」版本分別加載每個JS文件/類以支持簡單的調試。 「構建」版本將所有必需的類組合到一個JS文件中。

所以也許只有框架的路徑不能被你的web服務器訪問。只是一個猜測。

+0

我確認js文件加載正確。在Firebug中,我甚至可以檢查每個文件的源代碼。 – 2010-03-03 16:17:04

1

我最終找出問題出在哪裏。

由於我不明白的原因,eclipse會混淆v1.0和v1.0.1中的類。而且因爲定義類的方式在兩個版本之間發生了變化(v1.0使用qx.Bootstrap.define和v1.0.1使用qx.Class.define),所以它不兼容。

不管怎麼說,現在是工作,我就能玩:)

+0

這裏還有一個在線部分,講述如何從Web服務器運行源代碼版本:http://qooxdoo.org/documentation/1.0/snippets#running_a_source_version_from_a_web_server – ThomasH 2010-03-04 22:01:23

+0

Patris,你能告訴我你是如何解決這個問題的?我面臨同樣的問題 – WSK 2010-07-16 18:39:41

相關問題