2

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

document.location.href='#location';

但是当我使用

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

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

4

4 回答 4

2

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

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

查看jQuery Mobile 文档以获取更多详细信息。

确保

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

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

于 2012-08-06T08:11:36.260 回答
0

尝试这个:

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

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

于 2012-08-06T06:48:54.177 回答
0

尝试这个:

 webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
               if(//url filtering){ 
                   view.loadUrl(url);
               }
                return true;
            }
        });
于 2014-05-27T10:13:52.947 回答
0

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

 $(document).ready(function(){
   $.mobile.changepage('xyz.html');
 }
于 2014-03-14T08:25:43.290 回答