2016-08-24 5 views
0

Я сделал свое первое приложение для iOS, но у меня проблема с клавиатурой. Невозможно скрыть клавиатуру. Аксессуарная панель (с закрытой/предыдущей/следующей стрелкой) не видна.Ionic 2 InAppBrowser скрывает аксессуар по умолчанию

И еще одна проблема заключается в том, что он не закрывается автоматически после входа в систему. Таким образом, пользователь заканчивает клавиатурой по всему экрану. Он закрывается только при навигации по сайту.

код довольно прост, приложение открывает InAppBrowser и загружает сайт, где вам нужно войти в систему. Образец

Login

After login

Код:

import {Component, ViewChild} from '@angular/core'; 
import {ionicBootstrap, Platform, MenuController, Nav} from 'ionic-angular'; 
import {StatusBar} from 'ionic-native'; 
import {HelloIonicPage} from './pages/hello-ionic/hello-ionic'; 
import {ListPage} from './pages/list/list'; 
import {InfoPage} from './pages/info/info'; 
import {InAppBrowser} from 'ionic-native'; 
import {Splashscreen} from 'ionic-native'; 
import {Keyboard} from 'ionic-native'; 

@Component({ 
    templateUrl: 'build/app.html' 
}) 
class MyApp { 
    @ViewChild(Nav) nav: Nav; 

    // make HelloIonicPage the root (or first) page 
    rootPage: any = HelloIonicPage; 
    pages: Array<{title: string, component: any}>; 
    inAppBrowserRef; 

    constructor(
    private platform: Platform, 
    private menu: MenuController 
) { 
    document.addEventListener('resume',() => { 
     console.log("App has been resumed, reopen InAppBrowser url"); 
     this.openInAppBrowser(); 
    }); 
    this.initializeApp(); 

    // set our app's pages 
    this.pages = [ 
     { title: 'Launch', component: HelloIonicPage }, 
     { title: 'Info', component: InfoPage }, 
    ]; 
    } 

    initializeApp() { 
    this.platform.ready().then(() => { 
     // Okay, so the platform is ready and our plugins are available. 
     // Here you can do any higher level native things you might need. 
     StatusBar.styleDefault(); 
     //Show previous/next/done button on keyboard 
     this.openInAppBrowser(); 
    }); 
    } 

    openInAppBrowser() { 
    //Directly load website 
    this.inAppBrowserRef = InAppBrowser.open("http://ws001.domeassistance.be:50001/", "_blank", "location=no,fullscreen=yes,toolbar=no,clearcache=yes,clearsessioncache=yes"); 
    } 
} 

ionicBootstrap(MyApp); 

Любая помощь?

// Еще одна загадка: при отладке с помощью Phonegap на iOS я получаю вспомогательную панель, но не тогда, когда я ее встраиваю в реальное приложение ???

// Edit2: Если установить местоположение = да, то Accessorybar приходит, но я вижу неприятную URL в нижней части страницы, которая не то, что я хочу от курса ...

+0

Вы можете даже попробовать его на https://itunes.apple.com/us/app/dome-assistance-app/id1135786020?mt=8 – saibot

ответ

0

я использую _system вместо _blank. Затем у меня есть верхняя панель клавиатуры с автозаполнением и кнопка «Готово».

openInAppBrowser() { 
    this.inAppBrowserRef=InAppBrowser.open("http://ws001.domeassistance.be:50001/", "_system", "location=no,fullscreen=yes,toolbar=no,clearcache=yes,clearsessioncache=yes"); 
} 
+0

Я дам ему попробовать, спасибо заранее – saibot

+0

К сожалению, использование _system открывает браузер Safari. Мне нужно использовать _blank, чтобы пользователь не заметил, что он фактически открывает веб-сайт. – saibot