Javascript /HTMLを使用するWindows8アプリがあり、iframe内にPaypalフォームがあります。
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="on0" value="Pages">
<select name="os0">
<option value="10">$1.95</option>
<option value="25">$2.95</option>
</select>
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="encrypted" value="[removed]">
<input type="image" src="/btn_buynow_LG.gif" border="0" name="submit" alt="">
</form>
このフォームは、IE10を含むすべてのブラウザーで完全に機能しますが、Windows 8アプリのiframe内から送信すると、ユーザーはPaypalのホームページに移動します。これは通常、フォームに問題があることを示しています。ホストされているPaypalボタン、暗号化されたボタン、暗号化されていないボタンを試しましたが、すべて同じ動作を示します。Windows 8アプリ内からこのフォームを送信した場合にのみ、Paypal.comのホームページに移動します。
また、すべてのURLを許可されたURLとしてマニフェストに追加しようとしました。
<ApplicationContentUriRules>
<Rule Match="http://example.com" Type="include" />
<Rule Match="http://*.example.com" Type="include" />
<Rule Match="http://paypal.com" Type="include" />
<Rule Match="http://*.paypal.com" Type="include" />
<Rule Match="https://paypal.com" Type="include" />
<Rule Match="https://*.paypal.com" Type="include" />
</ApplicationContentUriRules>
サンドボックス属性を追加/削除して、次のようにプロパティのすべての組み合わせを追加してみました。
<iframe sandbox="allow-same-origin allow-top-navigation allow-forms allow-scripts allow-popups" src="http://example.com/paypalbtn.html"></iframe>
削除するtarget="_blank"
と、Windows8アプリは黒い画面に移動してハングします。Altキーを押しながらアプリをシャットダウンする必要があります。別のプロセスの新しいウィンドウへのフォームPOSTに問題があると思います。
Windows 8アプリのiframe内からPaypalを起動するにはどうすればよいですか?
フォームPOSTは必要ですか?フォームGETが機能することに気づきました。