[iOS9] jQuery Mobile のBackボタンが動作しない

自作アプリ EverLearn や Reibun でヘルプファイルの表示用にローカルに保存した jQuery Mobile を使用しているが、iOS9になってから前の画面に戻る Back ボタンが動作しなくなってしまった。

jQuery Mobile Back Button

Stackoverflowの記事 Problems with window.history using JQuery/Javascript on Cordova app in IOS9 – Stack Overflowjquery mobile – hashListeningEnabled – what exactly does it do? – Stack Overflow を見ると、どうやら Apple が iOS9 で hash をつかった XSS アタックを防ぐ実装を入れたようだ。

jQuery Mobileチームから見ると既知の問題だがこれはバグではないということで、もともと使っていた 1.3.1から最新のjQuery Mobile 1.4.5 に入れ替えても問題は解決しなかった。

Stackoverflow にあったように、mobile.hashListeningEnabled を false にすることで対応した。

   
    
    

    
    
    
    

1.3.1 から 1.4.5 へのアップデートは、jQuery Mobileを利用するには? – Build Insider を参考にして最低限のファイルのみを入れ替えた。

Backボタンが正常に表示されなくなったため、theme を正しく表示させるために jQuery Mobile 1.4 Upgrade Guide | jQuery Mobile を参照して data-theme=”d” を data-theme=”a” に変更した。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.