2017-04-04 32 views
0

我一直在嘗試在Android上使用混合手機應用上的科爾多瓦對話框插件。它一直返回相同的錯誤:
未捕獲TypeError:無法讀取undefined屬性'alert'科爾多瓦對話框插件:無法讀取屬性警報

因此我將應用程序剝離到最低限度。在我的科爾多瓦目錄中,我有一個超級簡單的html文件,它啓動了JavaScript文件。

<html> 
    <head> 
     <script src="js/script.js" type="text/javascript"></script> 
    </head> 
    <body> 

    </body> 
</html> 

然後,在文件的script.js,我複製並粘貼從科爾多瓦API和科爾多瓦對話框插件API的確切示例代碼。
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-dialogs/

function onLoad() { 
    document.addEventListener("deviceready", onDeviceReady, false); 
    } 
    function onDeviceReady() { 
    console.log(navigator.notification); 
    } 
    function alertDismissed() { 
    // do something 
    } 

    navigator.notification.alert(
     'You are the winner!', // message 
     alertDismissed,   // callback 
     'Game Over',   // title 
     'Done'     // buttonName 
); 

我那麼我的Android手機上運行科爾多瓦運行終端應用程序,該應用程序生成並沒有問題展開。但我沒有得到警報。當我檢查應用程序時,它再次給我相同的未捕獲類型錯誤。

有沒有人有一個想法,爲什麼這不起作用?

我運行它
OSX安裝10.12.3
科爾多瓦v 6.5.0
Android的命令行工具,使用JDK 25.2.5

而且,插件安裝在科爾多瓦目錄我可以在插件文件夾中看到它。

+0

我找到了解決方案。我錯過了,你必須在你的html中導入cordova.js來使用插件。所以我已經添加了 現在它起作用了! –

回答

-2

有時候一些插件與瀏覽器不兼容。最好是創建apk並在Android設備上進行測試,而不是在cordova run中進行測試。

+0

對不起,如果我不夠清楚。我在android設備上運行它。如果Cordova通過USB進行連接並在手機上啓用了開發工具,Cordova運行將部署和啓動該應用程序,並在該設備上運行cordova。它在啓動時不會在手機上顯示警告對話框,並且通過chrome檢測設備(通過USB),它告訴我這是與警報相同的未捕獲類型錯誤。 –

+0

嘗試在onDeviceReady()這個函數中運行「navigator.notification.alert()」這個事件。我剛剛在cordova中創建了一個新項目並按照這個步驟操作(https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-dialogs /)並且它正常工作。 –

相關問題