2013-11-22 44 views
0

我正在使用Apache Cordova 3.0和Sencha Touch 2.3開發POC項目。事情工作很好,但現在每當我試圖調用Cordova中的代碼調用我的自定義插件時,由於標題錯誤而失敗。TypeError:'undefined'不是與Sencha Touch和Cordova 3.0的函數(評估'cordova.exec')

我知道一個事實,即onDeviceReady事件被觸發,因爲我聽它並在接收到時彈出警告彈出框,並且每次都觸發警報。

不知道還有什麼要檢查或提供什麼其他細節?

回答

0

發現了問題 - 我被明確載入cordova.js在我的index.html。但Sencha touch也以非明顯的方式顯式加載cordova.js(自動在app.json中指定)。一旦我刪除了我自己的cordova.js包含它裝載罰款。

0

此錯誤說明您的自定義插件未在您的應用中正確配置。

1)您是否在頁面中包含了自定義插件的js文件?在cordova.js之後和使用自定義插件功能之前添加.js文件。

2)您是如何將自定義插件添加到項目中的?它始終建議使用CLI工具來添加/刪除任何插件。

+0

Cordova本身無法加載,如果一個插件配置不正確?因爲這是告訴我科爾多瓦本身沒有加載。無論如何,我確實將我的插件的js文件添加到了正確位置的頁面,並且它在項目中(確認它在config.xml中並複製到正確的位置)。 – Ahmad

+0

它發生了。你也應該看看你是否使用了正確的插件代碼版本。在cordova 2. *和3. *插件之間有一些主要的區別。 – Purus

+0

我們專門爲3.0開發了插件,我們只支持3.0,所以我不認爲就是這樣。 – Ahmad

0

我面臨同樣的問題。看起來Adobe在從2.x到3.x的過程中變得非常混亂。

我在插件中所做的是檢查cordova.exec,如果沒有定義,則需要它。例如,在您插件的非常頂級的源代碼中添加以下內容:

var cordova = require('cordova'); 
cordova.exec = cordova.exec || require('cordova/exec'); 

這應該有所斬斷。

最好的問候,

埃裏克

+0

謝謝。我的問題實際上是Sencha正在加載科爾多瓦,而我也試圖加載它,這是造成這個問題。 – Ahmad

相關問題