【问题标题】:Jquery Mobile conflicting with the Wordpress Admin BarJquery Mobile 与 Wordpress 管理栏冲突
【发布时间】:2013-10-08 21:28:25
【问题描述】:

我在我的 Wordpress 网站上使用 Jquery Mobile。该站点中的所有内容都运行良好。只有当您在站点的前端时,它才会影响管理栏。管理选项是可点击的,但它们不会通过。

我猜它与 AJAX 有关系。

当您在站点的后端时,管理栏可以工作。我厌倦了使用:

$(document).bind("mobileinit", function () { $.mobile.ajaxEnabled = 假; });

但这没有用。我确信它与 jQuery Mobile 有关。其他人有这个问题吗?关于如何解决此问题的任何想法?

这些是我正在使用的版本:

jquery-1.8.3.min.js

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

WordPress 3.5.1

【问题讨论】:

    标签: jquery wordpress jquery-mobile jquery-mobile-ajax


    【解决方案1】:

    您可能想尝试在 noConflict 模式下使用 jQuery,以防有多个版本正在加载(我会检查)或其他使用 $ 的库被调用。

    【讨论】:

      【解决方案2】:

      不幸的是,由于 jQuery Mobile 默认使用的 AJAX 导航,WordPress 中的管理栏无法正常工作。你必须小心你禁用 AJAX 导航的位置,它必须在你加载 jQuery 和 jQuery Mobile 之后。无论如何,这应该为您解决问题!

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

      注意:如果你真的喜欢 AJAX 导航,你应该可以在管理员用户登录时禁用它,但我没有尝试过。

      此外,正如 Anthony 所说,如果您使用 WP 的 jQuery,那么您必须确保在 noConflict 模式下使用 jQuery。但我认为,如果您从内容交付网络(即 jquery.com)为您正在使用的 JQM 版本注册并排队推荐的 jQuery 版本,那么无论如何您都会有更好的运气。

      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/

      【讨论】:

        【解决方案3】:

        Ajax 导致我的网站返回错误的所有锚链接。禁用 AJAX 和页面转换解决了这个问题。

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

        【讨论】:

          猜你喜欢
          • 2014-11-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-18
          • 2012-07-10
          • 1970-01-01
          • 2012-11-22
          相关资源
          最近更新 更多