2012-08-06 71 views
2

這兩個再定義之間有什麼區別?我有一個應用程序,它正確地適用於Chrome和Android 4,當我使用,但不能在Android 2.xx的

document.location.href='#location'; 

但是當我使用

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

它不能正常工作無論是在鉻還是在android中。 Redirrection似乎會發生,但之後立即跳轉到我的應用程序的索引頁面。

+0

看到這個:http://jquerymobile.com/gbs/ – 2012-08-06 06:41:08

+0

Android 2.1至2.3應該有A級的支持。 – Euphorbium 2012-08-06 06:43:42

+0

你是否在調用'$ .mobile.changePage('#location')時使用了任何轉換效果;'function – 2012-08-06 06:47:41

回答

0

試試這個:

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

jQuery Mobile的暴露$。移動物體上幾個methods和屬性在應用程序中使用。

+0

它的作用就像$ .mobile.changePage( '#位置');只是顯示跳轉到索引頁面之前的轉換。 – Euphorbium 2012-08-06 06:57:48

2

$.mobile.changePage是jQM風格的導航方法。這意味着如果您啓用了AJAX導航(默認情況下啓用了該功能),則鏈接的頁面將被異步提取並注入到當前頁面的DOM中。

這是通過獲取目標頁面,掃描jQM頁面(容器元素爲data-role='page'),將該元素注入當前DOM並顯示它,同時隱藏以前的內容來完成的。

檢查jQuery Mobile documentation瞭解更多詳情。

確保

  • 你的目標頁面有一個jQuery Mobile的頁面
  • 目標網頁是由JQM(使用招或類似工具)
  • 它存在於DOM
  • 當前頁面的抓取

您也可能決定禁用AJAX導航(開發移動應用程序時這是錯誤的想法)。這通過在mobileinit處理程序中將ajaxEnabled設置爲false來完成。有關更多詳細信息,請檢查jQM configuration documentation。確保在您的頁面中包含jquery-mobile.js之前,您的mobileinit掛鉤已被執行。

0

在使用之前確保文檔已準備好$.mobile.changepage否則它將不起作用。如果您在給定頁面上的某個事件之後使用自動重定向到其他頁面,則會出現此問題。

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

試試這個:

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