简体   繁体   English

无法仅在Android上使用Cordova读取undefined的handleEvent

[英]Cannot read handleEvent of undefined with Cordova on Android only

I'm trying to build an Cordova app using Backbone.js and underscore.js for templates. 我正在尝试使用Backbone.js和underscore.js作为模板来构建Cordova应用程序。

When I upload my .zip to the Phonegap Cloud build Everything builds without errors inside the log file. 当我将.zip上传到Phonegap Cloud构建时,所有文件都构建成功,日志文件中没有错误。 The IOS version works without any hassle the Android version runs but the screen stays white. IOS版本可以正常运行,而Android版本却没有任何麻烦,但屏幕始终保持白色。

When running the app on a physical device and checking it via chrome://inspect I see the following error: 在物理设备上运行应用程序并通过chrome://inspect检查它时,我看到以下错误:

控制台错误

My config.xml: 我的config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns     = "http://www.w3.org/ns/widgets"
        xmlns:gap = "http://phonegap.com/ns/1.0"
        id        = "app.appname.appname"
        version   = "0.2.0">
    <name>Appname</name>

    <description>
        Lorem ipsum
    </description>

    <author href="http://www.appname.nl" email="appname@appname.nl">
        Appname
    </author>

    <access origin="*"/>

    <!-- Which platforms to build for -->
    <gap:platform name="ios" />
    <gap:platform name="android" />

    <plugin name="cordova-plugin-statusbar" spec="https://github.com/apache/cordova-plugin-statusbar.git" />


    <plugin name="cordova-plugin-inappbrowser" spec="https://github.com/apache/cordova-plugin-inappbrowser"/>

    <plugin name="cordova-plugin-vibration" spec="https://github.com/apache/cordova-plugin-vibration" />

    <plugin name="cordova-plugin-device" spec="https://github.com/apache/cordova-plugin-device" />

    <plugin name="phonegap-plugin-push" source="npm" spec="~1.8.0">
        <variable name="SENDER_ID" value="xxx" />
    </plugin>


    <feature name="InAppBrowser">
        <param name="android-package" value="org.apache.cordova.InAppBrowser"/>
    </feature>

    <feature name="InAppBrowser">
        <param name="ios-package" value="CDVInAppBrowser" />
    </feature>

    <feature name="StatusBar">
      <param name="ios-package" value="CDVStatusBar" onload="true" />
    </feature>

    <feature name="http://api.phonegap.com/1.0/device" />
    <feature name="http://api.phonegap.com/1.0/notification"/>

    <preference name="phonegap-version" value="cli-6.5.0" />

    <preference name="StatusBarOverlaysWebView" value="true" />
    <preference name="orientation"      value="portrait" />
    <preference name="target-device"    value="handset" />
    <preference name="fullscreen"       value="false" />
    <preference name="KeyboardDisplayRequiresUserAction" value="false" />

    <preference name="exit-on-suspend"  value="true" />

    <preference name="prerendered-icon" value="true" />

    <preference name="DisallowOverscroll" value="true" />

    <preference name="android-targetSdkVersion" value="14" />

    <icon src="icon.png" />

    <platform name="android">
        <icon density="ldpi" src="icons/android/drawable-ldpi-icon.png" />
        <icon density="mdpi" src="icons/android/drawable-mdpi-icon.png" />
        <icon density="hdpi" src="icons/android/drawable-hdpi-icon.png" />
        <icon density="xhdpi" src="icons/android/drawable-xhdpi-icon.png" />
        <icon density="xxhdpi" src="icons/android/drawable-xxhdpi-icon.png" />
        <icon density="xxxhdpi" src="icons/android/drawable-xxxhdpi-icon.png" />

        <splash density="land-ldpi" src="splash/android/drawable-land-ldpi/screen-ldpi-landscape.png" />
        <splash density="land-mdpi" src="splash/android/drawable-land-mdpi/screen-mdpi-landscape.png" />
        <splash density="land-hdpi" src="splash/android/drawable-land-hdpi/screen-hdpi-landscape.png" />
        <splash density="land-xhdpi" src="splash/android/drawable-land-xhdpi/screen-xhdpi-landscape.png" />
        <splash density="land-xxhdpi" src="splash/android/drawable-land-xxhdpi/screen-xxhdpi-landscape.png" />
        <splash density="land-xxxhdpi" src="splash/android/drawable-land-xxxhdpi/screen-xxxhdpi-landscape.png" />

        <splash density="port-ldpi" src="splash/android/drawable-port-ldpi/screen-ldpi-portrait.png" />
        <splash density="port-mdpi" src="splash/android/drawable-port-mdpi/screen-mdpi-portrait.png" />
        <splash density="port-hdpi" src="splash/android/drawable-port-hdpi/screen-hdpi-portrait.png" />
        <splash density="port-xhdpi" src="splash/android/drawable-port-xhdpi/screen-xhdpi-portrait.png" />
        <splash density="port-xxhdpi" src="splash/android/drawable-port-xxhdpi/screen-xxhdpi-portrait.png" />
        <splash density="port-xxxhdpi" src="splash/android/drawable-port-xxxhdpi/screen-xxxhdpi-portrait.png" />
    </platform>

    <platform name="ios">
        <icon height="57" platform="ios" src="icons/ios/Icon.png" width="57" />
        <icon height="114" platform="ios" src="icons/ios/Icon@2x.png" width="114" />
        <icon height="40" platform="ios" src="icons/ios/Icon-40.png" width="40" />
        <icon height="80" platform="ios" src="icons/ios/Icon-40@2x.png" width="80" />
        <icon height="50" platform="ios" src="icons/ios/Icon-50.png" width="50" />
        <icon height="100" platform="ios" src="icons/ios/Icon-50@2x.png" width="100" />
        <icon height="60" platform="ios" src="icons/ios/Icon-60.png" width="60" />
        <icon height="120" platform="ios" src="icons/ios/Icon-60@2x.png" width="120" />
        <icon height="180" platform="ios" src="icons/ios/Icon-60@3x.png" width="180" />
        <icon height="72" platform="ios" src="icons/ios/Icon-72.png" width="72" />
        <icon height="144" platform="ios" src="icons/ios/Icon-72@2x.png" width="144" />
        <icon height="76" platform="ios" src="icons/ios/Icon-76.png" width="76" />
        <icon height="152" platform="ios" src="icons/ios/Icon-76@2x.png" width="152" />
        <icon height="29" platform="ios" src="icons/ios/Icon-small.png" width="29" />
        <icon height="58" platform="ios" src="icons/ios/Icon-small@2x.png" width="58" />
        <icon height="87" platform="ios" src="icons/ios/Icon-small@3x.png" width="87" />

        <splash height="1136" platform="ios" src="splash/ios/Default-568h@2x~iphone.png" width="640" />
        <splash height="1334" platform="ios" src="splash/ios/Default-667h.png" width="750" />
        <splash height="2208" platform="ios" src="splash/ios/Default-736h.png" width="1242" />
        <splash height="1242" platform="ios" src="splash/ios/Default-Landscape-736h.png" width="2208" />
        <splash height="1536" platform="ios" src="splash/ios/Default-Landscape@2x~ipad.png" width="2048" />
        <splash height="768" platform="ios" src="splash/ios/Default-Landscape~ipad.png" width="1024" />
        <splash height="2048" platform="ios" src="splash/ios/Default-Portrait@2x~ipad.png" width="1536" />
        <splash height="1024" platform="ios" src="splash/ios/Default-Portrait~ipad.png" width="768" />
        <splash height="960" platform="ios" src="splash/ios/Default@2x~iphone.png" width="640" />
        <splash height="480" platform="ios" src="splash/ios/Default~iphone.png" width="320" />
    </platform>

</widget>

My zip folder structure: 我的zip文件夹结构:

www
- config.xml
- fonts
    - fontA.svg
    - fontA.woff
    - ...
- icons
    - android
       - drawable-hdpi-icon.png 
       - ...
    - ios
        - Icon-60@2x.png
        - ...
- images
    - loader.gif
    - ...
- scripts
    - main.min.js
    - vendor.min.js
    - vendor
        - modernizr.js
- splash
    - android
        - drawable-land-hdpi
            - screen-hdpi-landscape.png
        - ...
    - ios
        - Default-568h@2x~iphone.png
        - ...
- styles
    - main.min.css
    - vendor.min.css

I guess for event listener you immediately executed the function instead putting handler. 我猜对于事件侦听器,您立即执行了该函数,而不是放置了处理程序。

I can reproduce your problem with the code 我可以用代码重现您的问题

document.addEventListener('deviceready',appStart(),false)); 

The correct code should be 正确的代码应该是

document.addEventListener('deviceready',function(){appStart()},false)); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Cordova TTS无法读取未定义的属性“ then” - Cordova TTS Cannot read property 'then' of undefined cordova 错误:无法读取未定义的属性“准备” - cordova Error: Cannot read property 'prepare' of undefined 无法在Cordova网络插件中读取未定义错误的属性“类型” - Cannot read the property 'type' of undefined error in cordova network plugin Cordova中的File.Transfer无法读取未定义的属性“ lengthComputable” - File.Transfer in cordova Cannot read property 'lengthComputable' of undefined 无法读取未定义的属性“ 0”(仅在单元测试中) - Cannot read property '0' of undefined (only on unit test) 无法读取未定义的属性“ gmail”-仅适用于Javascript - Cannot read property 'gmail' of undefined - Javascript only Android WebView“无法读取未定义的属性&#39;getAttribute&#39;” - Android WebView “Cannot read property 'getAttribute' of undefined” 无法读取未定义构建的属性“状态”:android - Cannot read property 'status' of undefined build:android 找不到名称“ cordova”。(cordova未定义) - cannot find name 'cordova'.(cordova is undefined) 错误类型错误:无法读取未定义的cordova-plugin-contact的属性“拆分” - ERROR TypeError: Cannot read property 'split' of undefined cordova-plugin-contact
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM