[UIWebViewDelegate webView:shouldStartLoadWithRequest:navigationType:]
は、従来の<a href="...">
リンクでのみ呼び出され、単一ページのWebアプリケーションのJavaScriptナビゲーションでは呼び出されないことに気付きました。UIWebViewのナビゲーションの変更を正しく聞くには?
例えば、UIWebView
でm.facebook.comにアクセスし、トップのナビゲーション(下記のスクリーンショットを参照)をタップしても、そのデリゲートメソッドはトリガーされません。
私は、UIWebViewの上に戻るボタンと進むボタンを追加したいので、メソッドをフックしたいのですが、これらのボタンを有効/無効にするタイミングを知る必要があります。ナビゲーションの変更を正しく聞くために使用すべき他のデリゲートメソッドがありますか?
更新:モバイルSafariはFacebookのモバイルサイトのバック/フォワードボタンの状態を正しく更新するので、Appleが開発者にもこれを行う方法を公開してくれることを願っています。
あなたは '[UIWebView canGoBack]'を見ましたか? https://developer.apple.com/reference/uikit/uiwebview/1617931-cangoback – SergGr
@SergGrは、ナビゲーションの変更によってcanGoBackを呼び出すタイミングを知っている必要があるため、私を助けない –