2011-09-07 47 views
0

我有兩個data-role="page" divs,「content」和「links」。 內容是默認的頁面,以顯示鏈接按鈕:jQuery Mobile - 當禁用AJAX時轉換失敗

<a data-role="button" href="#links" data-transition="slide">More</a> 

如果$.mobile.ajaxLinksEnable = false那麼下面被打破:

  1. 它不會鏈接到書籤在同一頁上。即它從example.com/randompage.html鏈接到example.com/#links
  2. 如果我將data-ajax="true"添加到錨點,則轉換(幻燈片)失敗,甚至

HTML:

<!DOCTYPE html> 
<html> 
<head> 
<title>Example for SO</title> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css" /> 
<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script> 
<script> 
$.mobile.ajaxLinksEnabled = false; 
</script> 
</head> 
<body> 
<div data-role="page" id="content"> 
    <a data-role="button" href="#links" data-ajax="true" data-transition="slide">More</a> 
    Text here 
</div> 
<div data-role="page" id="links"> 
    <a data-role="button" href="" data-rel="back">Back</a> 
    <div>A bunch of extra links here</div> 
</div> 
</body> 
</html> 

附: 我意識到這可能是一個圖書館的錯誤,而不是我的錯。

編輯:實時示例鏈接已被刪除。

+0

AJAX調用是否正常工作/響應? –

+0

我不確定你在問什麼。 「#鏈接」不是一個Ajax加載頁面,它是在同一頁上的div – Mikhail

+0

你能編輯你的問題併發布基本頁面佈局嗎? –

回答

0

嘗試將data-url屬性添加到頁面div。即使頁面通常使用ajax加載,該屬性的存在也​​會告訴框架請求的url已經在頁面上,不需要再次加載。

您可能還需要data-dom-cache以防止在隱藏頁面時將其移除。

+0

我認爲問題不在'links' div。這是與'More'按鈕。如果您轉到示例頁面並手動添加'#links',它將會轉換 – Mikhail

+0

可能,但是單擊帶有大量JavaScript的鏈接與直接從href打開url不同。在頁面div上試試鏈接上的'href =「/ links.html」'和data-url =「/ links.html」data-dom-cache =「true」'。這應該讓你得到你期待的結果,但通過不同的路徑,因此不會受到相同的問題。 –