2012-04-19 73 views
0

語境:asp.net MVC 3應用程序。 Page1是一個使用jquery mobile的移動頁面,它包含一個到Page2的鏈接,這是一個使用特定樣式表的普通頁面。鏈接到非移動頁面 - > CSS沒有加載

問題:我的手機上,當我點擊第一頁上的鏈接,它進入第二頁(具有水平滑動效果),但沒有加載樣式表。如果我強制重載頁面2,那麼樣式表被加載。另外,在iphone上,如果我按下鏈接顯示「在新窗口中打開」按鈕並單擊它,它會在新窗口中正常加載。

調試:如果我模擬這個在臺式電腦上(通過強制移動視圖)同樣的情況。後退按鈕甚至不能正常工作。當Net標籤加載第二頁,螢火蟲,顯示出來,就像我仍在加載第1頁(它顯示獲取第1頁),即使這是第2頁的出現(不CSS)的文本,它不會顯示一條線說它試圖加載CSS。

更新:我用1.0。我剛剛嘗試了最新的1.1版本,情況更糟。當點擊鏈接時,頁面2的標題出現在我的firefox標籤中,地址欄顯示新的url,但不顯示Page2(即使Firebug顯示它加載了某些內容)。

+0

你嘗試關閉ajax頁面轉換嗎? – 2012-04-19 13:54:46

+0

不,你是怎麼做到的? – 2012-04-19 13:56:30

回答

0

要關閉AJAX頁面過渡:

 $(document).bind("mobileinit", function() { 


     $.mobile.addBackBtn = false; 
     $.mobile.ajaxEnabled = false; 
     $.mobile.ajaxLinksEnabled = false; 

    }); 

編輯

要改變單一鏈接到非Ajax或副verca您可以使用此代碼:

的jQuery:

$("a").attr("data-ajax", "false"); 

或者你可以簡單地做<a href="somepage" data-ajax="false" >Link</a>

+0

是的,它的工作原理。謝謝。我意識到這是一個全或無的解決方案。在同一頁面上,我有另一個鏈接,它只是改變語言。我怎麼能爲這個鏈接啓用ajax過渡,但不是鏈接到非移動頁面的鏈接?如果不行的話,那麼,我會和它一起生活...... – 2012-04-19 14:22:09

+0

在你編輯的解決方案中,如果我理解的很好,我會徹底刪除mobilieinit代碼? – 2012-04-19 14:33:49

+0

這取決於。如果你離開它,所有的鏈接都會有data-ajax =「false」,那麼你可以用data-ajax =「true」來改變那些你想要有一個Ajax的鏈接。如果您決定採取其他方式,您將擁有與ajax的所有鏈接,然後只需使用data-ajax =「false」,如果您不想讓鏈接成爲ajax。隨你便。 – 2012-04-19 14:35:19