2012-05-18 3 views
0

Я в процессе создания мобильного веб-приложения, и я столкнулся с очень-очень странной проблемой.конфликт окна с jQuery Mobile

Ядро моего приложения выглядит как подходящее приложение для iPhone с вкладкой. На одном из моих экранов, если щелкнуть ссылки на вкладке, перед перенаправлением нам нужно сделать запрос POST на сервер, а затем выполнить перенаправление при успешном завершении.

В браузере рабочего стола это работает точно так, как ожидалось.

В Mobile Safari он не работает вообще. Выполняется запрос POST, но перенаправление не выполняется. Я перепробовал несколько разных методов для перенаправления, и ни один из них не изменил ситуацию.

Я использую jQuery Mobile, но поскольку мне нужно перенаправить на совершенно другую страницу без перехода и без AJAX, я использую window.location.href для перенаправления.

Есть ли у кого-нибудь идеи, почему это может произойти? С удовольствием сообщаем подробности, если это необходимо, я бил головой об этом в течение 2 дней.

+0

Вы пытались использовать $ .mobile.changePage? Вы можете установить '' 'reloadPage''' для принудительной полной перезагрузки, и вы также можете отключить переходы. Я не уверен, почему установка '' 'window.location.href''' не сработает; Я просто предлагаю обходное решение. Также этот вопрос кажется актуальным - http://stackoverflow.com/questions/8153236/jquery-mobile-changepage. –

+0

Пожалуйста, отправьте код. – Jasper

+0

$ .mobile.changePage не работает - даже с reloadPage set. Похоже, что jQuery Mobile переписывал все мои URL-адреса страницы «#» - вот почему они никуда не денутся! –

ответ

0

Итак, проблема заключалась в изменении поведения между запуском моего приложения в браузере рабочего стола и его запуском в Mobile Safari.

На рабочем столе jQuery Mobile в основном обеспечивал не намного больше, чем стиль и переходы.

В Mobile Safari он переписывал все URL-адреса моей страницы. С этим очень трудно жить отладки веб-сайтов прямо на телефоне или в симуляторе (я знаю о консоли отладки, но это было лишь незначительно полезно), мне потребовалось много времени, чтобы это увидеть.

Я получил вокруг этого вопроса, добавив атрибут данных URL-адреса для каждого из моих ссылок - это не переписано JQuery Mobile, так что я был в состоянии использовать его, чтобы принять пользователь, где они должны были идти от начало.

Я не мог найти ссылки на то, что jQuery Mobile выполнял этот переписывание URL, но, возможно, я пропустил что-то в своей документации.

+0

См. Конец http://jquerymobile.com/demos/1.0a3/docs/pages/docs-pages.html. – KCD

Смежные вопросы