私はUIWebView
、さまざまな Web サイトを表示するために使用しようとしている iOS アプリに取り組んでいます。最近、Javascript を に挿入して、、およびUIWebView
のインスタンスをキャッチするロジックを完成させました。つまり、これを行うために、前述の JS 関数をオーバーライドする JS を挿入します。これには、アプリのメソッドでキャッチできる特定のスキームを使用した の作成が含まれます。これは、同じウィンドウにロードするのではなく、新しいウィンドウを作成することを含め、今のところすべて正常に機能しています。window.open
window.close
window.opener.focus
iframe
webView:shouldStartLoadWithRequest:navigationType
window.open
UIWebView
ただし、ウィンドウ間の JS 通信に実行可能なソリューションがないという問題が発生しています。window.opener
子ウィンドウがまたはを呼び出そうとするとwindow.parent
、常に null 値が返されるため、元の Web ビューと通信できません。
ウィンドウ間の通信を効果的に実行できる iOS ブラウザーを確認するために、私の iPhone にある 9 つのブラウザーのうち、この通信を効果的に実行できるのは Safari だけであることがわかりました。UIWebView
これは、完全な JS のウィンドウからウィンドウへの通信が可能になるのを妨げる何かがあると私に信じさせます。
UIWebView をすべての JS ロジック、つまりウィンドウ間の通信と完全に統合することに成功した人はいますか? または、JS のウィンドウからウィンドウへの通信が不可能であるという証拠がありますか? 指示やアドバイスをいただければ幸いです。ありがとう!