Jquery Mobile конфликтует с админ-панелью Wordpress

Я использую Jquery Mobile с моим сайтом Wordpress. Все на сайте работает отлично. Он действует на панели администратора только тогда, когда вы находитесь на переднем крае сайта. Параметры администратора кликабельны, но они не проходят.

Я предполагаю, что это имеет что-то с AJAX.

Когда вы находитесь в конце сайта, админ-бар работает. Я устал использовать:


      $ (document).bind ("mobileinit", function () {

            $.mobile.ajaxEnabled = false;

      });

Но это не сработало. Я точно знаю, что это как-то связано с jQuery Mobile. У кого-нибудь еще есть эта проблема? Любые идеи о том, как я могу это исправить?

Это версии, которые я использую:

JQuery-1.8.3.min.js

jquery.mobile-1.3.0-beta.1.min.js

WordPress 3.5.1

3 ответа

Вы можете попытаться использовать JQuery в noConflict режим в случае загрузки нескольких версий (которые я бы проверил) или использования других библиотек $ быть названным.

Ajax заставлял мой сайт возвращать ложные ссылки. Отключение AJAX и переход на другую страницу устранили эту проблему.

$(document).on("mobileinit", function(){
$.mobile.defaultPageTransition = 'none';
$.mobile.ajaxEnabled = false;}); 

К сожалению, из-за AJAX-навигации, которую jQuery Mobile использует по умолчанию, админ-панель в WordPress не работает. Вы должны быть осторожны с тем, как вы отключили навигацию AJAX, это должно быть после загрузки jQuery & jQuery Mobile. Во всяком случае, это должно исправить все для вас!

<script>
$(document).delegate("#jqm-page","pageinit", function() {
$.mobile.ajaxEnabled=false;
 });
</script>

примечание: если вам действительно нравится навигация AJAX, вы можете просто отключить ее, когда пользователь с правами администратора вошел в систему, но я этого не пробовал.

Кроме того, как упоминал Энтони, если вы используете jQuery в WP, вам нужно будет убедиться, что вы используете jQuery в noConflict Режим. Но я думаю, что в любом случае вам повезет больше, если вы зарегистрируете рекомендованную версию jQuery из сети доставки контента (например, jquery.com) для используемой вами версии JQM.

wp_deregister_script('jquery');
wp_register_script('jquery', ("http://code.jquery.com/jquery-1.9.1.min.js"), false);
wp_enqueue_script('jquery');

Для получения дополнительной информации обо всем вышеперечисленном вы можете попробовать эти ссылки:

http://wordpress.org/support/topic/integration-of-jquery-mobile-into-wordpress-breaks-linking-to-admin-panels?replies=7

http://tutsme-webdesign.info/twenty-eleven-jquery-mobile-theme/

Другие вопросы по тегам