这两个编辑有什么区别?我有一个应用程序,当我使用时,它可以在 chrome 和 android 4 上正常工作,但在 android 2.x.x 上无法正常工作
document.location.href='#location';
但是当我使用
$.mobile.changePage('#location');
它在Chrome和Android中都无法正常工作。Redirrection似乎发生了,但紧接着它会跳转到我的应用程序的索引页面。
$.mobile.changePage
是jQM风格的导航方法。这意味着,如果您启用了 AJAX 导航(默认情况下启用),则链接到的页面将被异步获取并注入当前页面的 DOM 中。
这是通过获取目标页面,扫描jQM页面(带有data-role='page'
的容器元素),将该元素注入当前DOM并显示它,同时隐藏以前的内容来完成的。
查看 jQuery Mobile 文档以获取更多详细信息。
确保
- 您的目标页面有一个 jQuery 移动页面
- 目标页面由jQM获取(使用Fiddler或类似工具)
- 它存在于当前页面的 DOM 中
您也可以决定禁用 AJAX 导航(这在开发移动应用程序时是错误的想法)。这是通过在处理程序中将ajaxEnabled
设置为 false 来完成mobileinit
。有关更多详细信息,请查看 jQM 配置文档。在页面中包含jquery-mobile.js之前,请确保您的mobileinit
钩子已执行。
试试这个:
$.mobile.changePage( "#location", {
transition: "pop",
reverse: false,
changeHash: false
});
jQuery Mobile 在 $.mobile 对象上公开了几个方法和属性,以便在应用程序中使用。
在使用$.mobile.changepage
之前确保文档已准备就绪,否则将无法正常工作。如果您在给定页面上发生某些事件后使用自动重定向到其他页面,这将是一个问题。
$(document).ready(function(){
$.mobile.changepage('xyz.html');
}
试试这个:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(//url filtering){
view.loadUrl(url);
}
return true;
}
});