Zoom in Iframe, das die falsche Cursorposition in der cordova iOS-Anwendung beeinflusst

8

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%     
Ali 05.06.2014, 10:38
quelle

1 Antwort

2

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.

%Vor%

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.

    
Ali 08.09.2016, 07:10
quelle

Tags und Links