Я новый об Угловом и Кордове. Я использую Cordova 6.2 и угловую 1.5.6. Я могу заставить плагины работать, если я создаю новый проект cordova, но я не могу в своем угловом приложении. Моя проблема родилась, когда мне пришлось установить StatusBarOverlaysWebView = false в систему IOS и не могли заставить ее работать (как в iphone 5, так и в iphone 6 и в эмуляторе тоже). Я пытался использовать другие плагины, но никто не работал. Я искал googled и обнаружил, что проблема может быть вызвана плагином после того, как он загружен, и что мне нужно вручную загрузиться, чтобы заставить плагины работать (вызывать их после того, как приложение/устройство готово). Я следил за инструкциями и делал много попыток, но я не могу получить эту работу. Я не могу даже запустить консольный журнал на готовом к событию событии, копируя код из готового базового примера устройства cordova из нового проекта cordova.Кордова и угловые: плагины не работают
Невозможно получить статус StatusBar, заставку, работающую на IOS.
Возможно, мне просто не хватает промахов.
Вот мой код, спасибо!
myApp.js
window.addEventListener('deviceready', function onDeviceReady() {
//Never fired!!!!!!
console.log("readydevice");
StatusBar.overlaysWebView(false);
angular.bootstrap(document, ['myApp']);
StatusBar.overlaysWebView(false);
}, false);
window.addEventListener('DOMContentLoaded', function onDeviceReady() {
//Fired but console returns: StatusBar is not defined
console.log("readyDom");
StatusBar.overlaysWebView(false);
angular.bootstrap(document.body, ['myApp']);
StatusBar.overlaysWebView(false);
}, false);
angular.module('myApp', [
'ngRoute',
'mobile-angular-ui',
'ngSanitize'
]);
index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0"/>
<title>My app</title>
<link rel="stylesheet" href="dist/css/mobile-angular-ui-base.min.css"/>
<link rel="stylesheet" href="dist/css/general.css"/>
<link rel="stylesheet" href="dist/css/custom.css"/>
<script src="dist/js/winstore-jscompat.js"></script>
<script src="dist/js/angular.min.js"></script>
<script src="dist/js/angular-route.min.js"></script>
<script src="dist/js/angular-sanitize.min.js"></script>
<script src="dist/js/mobile-angular-ui.min.js"></script>
<script src="dist/js/mobile-angular-ui.gestures.min.js"></script>
<script src="javascript/config.js"></script>
</head>
<body ng-csp="">
<div class="app">
<top-bar></top-bar>
<div class="app-body">
<div ng-view class="app-content scrollable-content"></div>
</div>
<menu-bottom></menu-bottom>
</div>
<script src="javascript/myApp.js"></script>
<script src="javascript/controllers/route.js"></script>
<script src="javascript/controllers/controller.js"></script>
<script src="javascript/directives/directive.js"></script>
</body>
</html>
config.xml
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.example.com" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>My App</name>
<description>
My App
</description>
<author email="[email protected]" href="http://www.example.com">
My Team
</author>
<content src="index.html" />
<access origin="*" />
<access launch-external="yes" origin="tel:*" />
<access launch-external="yes" origin="mailto:*" />
<engine name="ios" spec="~4.1.1" />
<engine name="android" spec="~5.1.1" />
<engine name="windows" spec="~4.3.2" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<preference name="AutoHideSplashScreen" value="true" />
<preference name="splashscreen" value="splash" />
<preference name="SplashScreenDelay" value="1000" />
<preference name="Fullscreen" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="Orientation" value="portrait" />
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="StatusBarStyle" value="default" />
<platform name="android">
<allow-intent href="market:*" />
<!--<splash density="land-hdpi" src="res/images/splash.png" />-->
<!--<splash density="port-hdpi" src="res/images/splash.png" />-->
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
<preference name="SuppressesIncrementalRendering" value="true" />
<!--<splash src="res/images/ios/Default~iphone.png" width="320" height="480"/>-->
<!--<splash src="res/images/ios/[email protected]~iphone.png" width="640" height="960"/>-->
</platform>
<icon src="res/images/icon.png" />
</widget>
Как вы настроили свой проект? Кажется, вы не включаете в себя кордову нечто вроде '' .... – Phonolog
У меня были такие же сомнения сегодня. Если я зарегистрировал window.cordova, всегда получил null. Я установил cordova cli, следуя руководству на официальном сайте https://cordova.apache.org/docs/en/latest/guide/cli/ Я также попытался добавить скрипт под www, но я не получил никаких результатов , Если я зашел в платформу build apk/appx/ipa, я вижу кордову js. Что я делаю не так? благодаря! – SBO
Хмм, если я настраиваю новый проект с помощью cli (v 6.2.0), я могу четко видеть ссылку на cordova.js в index.html ... Возможно, повторите попытку создания своего проекта, и если это не удастся, я рекомендую обновить кордову. – Phonolog