[英]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.