2016-06-22 17 views
1

コルドバで、inAppBrowserを使用すると、iPhoneでウィンドウを開くと言う。フォームをその新しいウィンドウインスタンスに同時にPOSTするにはどうすればいいですか? GETリクエストを使用して外部またはローカルのHTMLファイルを開くことはできますが、その新しいページにデータを投稿することはできません。私は次のことをしたい。しかし、これは予期せぬ動作を起こし、複数のウィンドウを何度も開いているように見えます。とにかくコードを変更しても、フォームは投稿されません。Cordova WebView、InAppBrowserを開いて同時にフォームを投稿

var ref = $window.open('modules/life/views/cordovaAutoParamed.html', target, options);    
        if (ref !== undefined && ref !== null) { 
         ref.addEventListener('exit', function(event) {}); 
         ref.addEventListener('loaderror', function(event) {}); 
         ref.addEventListener('loadstart', function(event) {       
         }); 
         ref.addEventListener('loadstop', function(event) { 
          ref.show(); 
          var fullAutoPostParamed = ' window.document.open(\'text/html\', \'replace\'); \ 
          window.document.write(\'<html><body onload="document.forms[0].submit()"> \'); \ 
          window.document.write(\' <form action="'+paramed.callbackUrl+'" method="post"> \'); \ 
          window.document.write(\' <input type="hidden" name="Assertion" value="123" /> \'); \ 
          window.document.write(\' <input type="submit" value="execute" /> \'); \ 
          window.document.write(\' </form></body></html> \'); \ 
          window.document.close();'; 
          paramedLogger.error(fullAutoPostParamed);*/ 
          ref.executeScript({code: fullAutoPostParamed });             
         ref.show();       
         }); 

また、デスクトップ上のChromeのような通常のブラウザではexecuteScriptが動作しないようです。

答えて

0

window.document.writeの機能のみを呼び出し、window.document.open(現在のドキュメントはフォームを含むドキュメント)を呼び出す必要があると思います。

その後、body onload機能を削除し、フォームにIDを追加します。

<form id="myform"> 

最後に、あなたがref.executeScript別のコールを追加した後:フォームを投稿する

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

を。無限ループについて

隠し開かれたInAppBrowserウィンドウを表示: あなたがshow()何度も呼び出している理由を私は知らない、ドキュメントは、方法はと言います。 InAppBrowserがすでに表示されている場合は、この呼び出しは無効です。 Docs saysそれはブラウザでも動作します:executeScript方法について

。コンソールログでその情報を確認してください。また、ブラウザのデバッガツールを使用して、コードの実行フローを確認してみてください。

+0

右のようになります。私はまだブラウザのバージョンが動作していない。 –

関連する問題