2014-01-17 148 views
1

我有一個web應用程序,我需要onclick更改css樣式,但我需要將此更改保存到webapp中,並將其保存到我的用戶的手機中,並且只能保存在他的手機中。用於onclick的javascript改變了它的CSS樣式,但我不知道如何保存這個CSS變化。如何在本地更改css樣式並保存此更改

有人可以幫助我嗎?

由於現在多虧

+1

將其保存在本地存儲中,並讓您的應用程序讀取(重新)啓動本地存儲 –

回答

0

一般CSS樣式不能直接保存的HTML客戶端上。

你可以做的是做一個Ajax調用回你的服務器並保存信息。用戶下一次要求頁面發送HTML時,已根據保存的信息在要添加樣式的元素上添加適當的樣式類。

有幾個hackish客戶端可能性涉及JavaScript & Cookie或本地存儲,但我會盡可能避免這種解決方案,因爲它很可能會導致惱人的閃爍,因爲頁面加載和呈現樣式單向和然後JavaScript終於運行並更正了樣式。

0

要闡述我的意見:

el1.addEventListener('click', function() { 
     el2.style.color = 'red'; 
     localStorage['color'] = el2.style.color; 
    }) 

,然後在啓動時:

window.addEventListener('load', function() { 
     if (localStorage['color']) { 
      el2.style.color = localStorage['color']; 
     } 
    } 

當然,你可能需要添加錯誤檢查和回退適當。

+0

如果此JavaScript運行在快速客戶端上,您可能不會注意到閃爍。在慢速客戶端(例如同時運行很多其他應用程序的手機)上,或者較舊的客戶端可能會在執行JavaScript之前暫時以原始顏色顯示。這一點的重要性當然要由OP來決定。 – Gus