2016-06-22 24 views
1

Mit Cordova und mit dem inAppBrowser sagen, ein Fenster auf einem iPhone zu öffnen. Wie kann ich ein Formular gleichzeitig in diese neue Fensterinstanz POST. Es scheint, dass ich eine externe oder lokale HTML-Datei mit einer GET-Anfrage öffnen kann, aber ich kann keine Daten auf dieser neuen Seite veröffentlichen. Ich möchte Folgendes tun. Dies führt jedoch zu unerwartetem Verhalten, es sieht so aus, als ob es mehrere Fenster wieder und wieder öffnet. Wenn ich den Code trotzdem ändere, wird das Formular nicht hochgeladen.Cordova WebView, InAppBrowser öffnen und gleichzeitig ein Formular senden

Auch scheint das executeScript in einem normalen Browser wie Chrome auf einem Desktop nicht zu funktionieren.

Antwort

0

Ich denke, dass Sie nur window.document.write Funktionen aufrufen sollten und keine window.document.open (das aktuelle Dokument ist das Dokument, das das Formular enthalten wird).

Dann entfernen Sie die body onload Funktion und eine ID zu Ihrem Formular hinzufügen:

<form id="myform"> 

Am Ende nach dem ref.executeScript einem weiteren Anruf hinzufügen:

ref.executeScript({code: 'document.myform.submit();'}) 

die Form zu veröffentlichen.

Über die Endlosschleife: Ich weiß nicht, warum Sie show() so oft anrufen, sagt docs, dass die Methode:

Zeigt ein InAppBrowser Fenster, das versteckte geöffnet wurde. Das Aufrufen dieses Befehls hat keine Auswirkungen, wenn der InAppBrowser bereits sichtbar war.

über die ExecuteScript Methode: Docs says, dass es auch im Browser funktioniert. Informationen dazu finden Sie in den Konsolenprotokollen. Versuchen Sie auch, den Ausführungsfluss Ihres Codes mithilfe der Debugger-Tools des Browsers zu überprüfen.

+0

Sieht nach rechts aus. Ich habe immer noch nicht die Browser-Version funktioniert. –

Verwandte Themen