Ich verwende Cordova zur Entwicklung von ios. Ich verwende einen iframe, um einen externen Link in meiner App zu öffnen. Die Größe der externen Seite ist groß und um in den Bildschirm zu passen, verwende ich -webkit-transform scale property. Alles ist in Ordnung und es passt in den Bildschirm. Aber das Problem ist, dass, wenn ich eine Texteingabe wähle, der Eingabecursor (Caret) irgendwo unterhalb des Textfelds zu blinken beginnt.
Siehe den Code:
index.html:
%Vor%form.html:
%Vor%und JS ist:
%Vor%Das war ein altes Problem, mit dem ich auch konfrontiert wurde. Ich habe in meinen zwei Jahre alten Code nach der Lösung dieses Problems geschaut und hier ist die Lösung.
Anstatt den iframe
zum Öffnen des externen Links zu verwenden, der in eine andere Seite eingebettet wäre, habe ich dafür das inAppBrowser
zum Öffnen von extern verwendet Verknüpfung.
window.open( encodeURI('externalPage.html') , '_blank', 'location=no','EnableViewPortScale=yes');
Nun, was 'EnableViewPortScale = yes' tut. Es wurde die browserOptions.enableviewportscale
auf true
in CDVInAppBrowser.m
festgelegt, die in der openInInAppBrowser
Methode in derselben Klasse für UIWebView
options
verwendet wurde. d. h.
bedeutet, dass die obige Zeile durch ersetzt wird;
self.inAppBrowserViewController.webView.scalesPageToFit = YES;
UIWebView
hat tatsächlich eine Eigenschaft scalesPageToFit
, die die Seite unter Berücksichtigung des Seitenverhältnisses an die Gerätebreite anpasst.
Tags und Links javascript cordova ios html5 css3