2012-01-26 18 views
1

我在用使用jQuery Mobile Themeroller構建的自定義主題編寫C#.Net MVC移動Web應用程序。主題工作正常,直到我點擊F5,單擊瀏覽器刷新按鈕或執行任何其他刷新操作。刷新後,頁面會丟失自定義主題並返回默認的jQuery Mobile css。我只能刷新主頁上的Web應用程序,而不會丟失主題。我有read this short post,但我不確定它是否一樣。我可以看到這將如何修復ajax調用完成後的樣式,但刷新問題呢?我的意思是,如果我在啓用JQM的頁面上點擊「刷新」或F5,它會丟失我所有的自定義主題(來自整理者)。當我刷新頁面時,爲什麼我的jQuery Mobile應用程序會丟失自定義主題

這可能是因爲JQM在第一頁上添加base元素的方式嗎?我不知道如何確認這一點。我不應該在每次準備好文檔事件時都致電$('#mypage').trigger('create');,我應該嗎?

我很感激任何迴應。我很想發佈一個jsfiddle,但使用自定義主題時很困難。

UPDATE

<meta name="viewport" content="width=device-width, initial-scale=1" /> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" /> 
<link rel="stylesheet" href="Content/stylesheets/mobilere.min.css" /> 
<link rel="stylesheet" href="Content/stylesheets/main.css" /> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> 
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script> 

這是我head塊一切 - mobilere.min.css是我themerolled樣式表。

我目前沒有dom ready事件設置,因爲我想避免在每個頁面上觸發刷新。

+0

你可以發佈你包含CSS樣式表的代碼以及你在'document.ready'上運行的代碼嗎? – Jasper

+0

@Jasper,我目前沒有實現'document.ready',請參閱樣式表代碼的更新,謝謝! – shanabus

回答

0
  1. 你需要有您從網頁的站點中的每個頁面的<head>部分<head>部發布的代碼,所以如果用戶刷新頁面上的瀏覽器,它可以被訪問。由於jQuery Mobile只吸引頁面上的第一個data-role="page"元素並將其添加到當前DOM,因此在瀏覽網站時不會產生太多開銷。

  2. 您應該使用樣式表的絕對路徑,以便無論頁面的基址是什麼都可以找到它們。

網站上的音符,$('#mypage').trigger('create');用於適當類和HTML結構添加到頁面窗口小部件,而不是更改樣式表。

+0

感謝您的回覆。我爲我的所有頁面使用了一個母版頁,這是這些樣式/ js聲明的保存位置。所以他們在每一頁上。絕對路徑不工作,因爲我不小心使用了主頁面,而不是MVC主頁面 - 所以我的Url.Content(「〜/」)調用不起作用。現在修復您的幫助和這篇文章 - http://stackoverflow.com/questions/1285726/can-you-use-url-content-in-a-master-page – shanabus

相關問題