あなたが使用しているURLと、JQMが次のようなリンクの作成方法を理解していないことが関係していると思われます。
/Client/Events/StubCheckIn/innasf?stubID=c807321b-5381-4338-adef-9e676374d85d
ファイルの末尾もハッシュタグもありません。単純な [?para=meter] (https://github.com/jquery/jquery-mobile/issues/4253) リンクと JQM で数回処理することで戦ってきました。日々。
「iPadで何も起こらない」を解決する最も簡単な方法は、それぞれのJQMウィジェットを介してiPadデバッガーとconsole.log-gingを有効にすることです。あなたの場合、ここから始めます(約3582行目):
// click routing - direct to HTTP or Ajax, accordingly
$( document ).bind( "click", function( event ) {
// your first flag
console.log("flag 1 - click detected")
if( !$.mobile.linkBindingEnabled ){
return;
}
var link = findClosestLink( event.target ), $link = $( link ), httpCleanup;
if ( !link || event.which > 1 || !$link.jqmHijackable().length ) {
// your second flag
console.log("flag 2 - not a link?!?)
return;
}
...
これをクリックハンドラー全体で実行し、さまざまな理由で関数を終了するすべての return にフラグを立てるようにしてください。
クリック ハンドラーの操作が完了すると (それほど長くはありません)、changePage が起動されることがわかります。それに従って、changePage ハンドラーに進み、フラグを立て続けます。これは、次の行 (#3232) あたりから開始する必要があります。
// Show a specific page in the page container.
$.mobile.changePage = function( toPage, options ) {
console.log("flag x - made it to changepage");
...
changepageを最後まで見てから、transitionpages (そうではないと思います) と$.mobile.loadPage (約 #2931、可能性が高い) に進みます。
すべてにフラグを立てたら (loadpage の後に停止してください! :-)、ブラウザと iPad でページをリロードし、iPad とブラウザのどこが失敗するかを確認します。おそらく1時間かかりますが、その後JQMがどのように機能するかをよく理解できます:-)
もう 1 つの理由は、pushstate ハンドラー (約 #3781) である可能性があります。ブラウザが pushstate をサポートしている場合 (デスクトップは可、iOS... 不明、iOS3 は不可)、素敵な URLを作成できるので、自分のページから移動すると:
root.com/client/events/checkin/innasf
ダイアログへ
http://root.com/Client/Events/StubCheckIn/innasf?stubID=96e63aee-1465-4ecd-ad35-123f240d09ff
お使いのブラウザーにはまだページの URL が表示されます。おそらく、changehashを false に設定したためです (これにより URL が保持されます)。URLは次のようにする必要があるため、これは(私が信じている)pushstateハンドラーによって行われます。
root.com/client/events/checkin/innasf#http://root.com/Client/Events/StubCheckIn/innasf?stubID=96e63aee-1465-4ecd-ad35-123f240d09ff&some-dialog-ending
これは、非プッシュステート デバイス (たとえば、私の iPad ios3.3) が解決しようとする URL であり、ここでも機能しません。
ただし、URL が JQM によって解決されると、クリックまたはページ変更ハンドラーのどこかでリンクが失敗すると思います。
フラグを立てる場合は、ブラウザと iOS の違いがどこにあるのか教えてください。次に、これが修正可能かどうかを確認します。