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