【问题标题】:document.location.href='#location'; vs. $.mobile.changePage('#location');document.location.href='#location';与 $.mobile.changePage('#location');
【发布时间】:2012-08-06 06:23:44
【问题描述】:

这两个重定向有什么区别?我有一个应用程序,它在我使用时可以在 chrome 和 android 4 上正常工作,但不能在 android 2.x.x 上运行

document.location.href='#location';

但是当我使用

$.mobile.changePage('#location');

它在 chrome 和 android 中都不能正常工作。似乎发生了重定向,但之后立即跳转到我的应用程序的索引页面。

【问题讨论】:

标签: android jquery jquery-mobile


【解决方案1】:

$.mobile.changePage 是 jQM 风格的导航方法。这意味着如果您启用了 AJAX 导航(默认启用),您链接到的页面将被异步获取并注入到当前页面的 DOM 中。

这是通过获取目标页面,扫描它以查找 jQM 页面(带有data-role='page' 的容器元素),将该元素注入当前 DOM 并显示它,同时隐藏以前的内容。

查看jQuery Mobile documentation了解更多详情。

确保

  • 您的目标页面有一个 jQuery Mobile 页面
  • 目标页面由 jQM 获取(使用 Fiddler 或类似工具)
  • 它存在于当前页面的DOM中

您也可能决定禁用 AJAX 导航(在开发移动应用程序时这是错误的想法)。这是通过在mobileinit 处理程序中将ajaxEnabled 设置为false 来完成的。更多详情请查看jQM configuration documentation。确保在您的页面中包含 jquery-mobile.js 之前执行您的 mobileinit 钩子。

【讨论】:

    【解决方案2】:

    试试这个:

    $.mobile.changePage( "#location", {
        transition: "pop",
        reverse: false,
        changeHash: false
    });
    

    jQuery Mobile 在 $.mobile 对象上公开了几个 methods 和属性,以便在您的应用程序中使用。

    【讨论】:

    • 它就像 $.mobile.changePage('#location');只显示跳转到索引页面之前的过渡。
    【解决方案3】:

    在使用$.mobile.changepage之前确保文档准备就绪,否则将无法使用。如果您在给定页面上发生某些事件后使用自动重定向到不同页面,这将是一个问题。

     $(document).ready(function(){
       $.mobile.changepage('xyz.html');
     }
    

    【讨论】:

      【解决方案4】:

      试试这个:

       webView.setWebViewClient(new WebViewClient() {
                  @Override
                  public boolean shouldOverrideUrlLoading(WebView view, String url) {
                     if(//url filtering){ 
                         view.loadUrl(url);
                     }
                      return true;
                  }
              });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-03
        • 1970-01-01
        • 1970-01-01
        • 2017-11-17
        • 2016-06-26
        • 2018-05-09
        • 2018-07-01
        相关资源
        最近更新 更多