2016-10-23 255 views
-1

我有一個小型網頁應用,可根據用戶輸入計算距離和時間。它工作正常,但是,我的手機瀏覽器(Chrome)堅持刷新我的標籤關閉鉻約15分鐘後。當發生這種情況時,所有頁面數據都會丟失,因此用戶不再擁有重要的信息/數據。有沒有辦法解決?這裏是我的代碼頁面刷新後保留數據

的Javascript

function myFunction() { 

function converToMinutes(s) { 
    var c = s.split(':'); 
    return parseInt(c[0]) * 60 + parseInt(c[1]); 
} 

function parseTime(s) { 
    var seconds = parseInt(s) % 60; 
    return Math.floor(parseInt(s)/60) + ":" + ((seconds < 10)?"0"+seconds:seconds); 
} 


var endTime = document.getElementById("etime").value; 
var startTime = converToMinutes(document.getElementById("stime").value); 
var converted = parseTime(startTime - endTime); 


document.getElementById('finishtime').innerHTML = "You will finish your break at " + converted; 

} 

HTML

<p>Please enter minutes</p> 
<input type="text" id="etime"> 
<br> 
<p>Please enter time in 24 hour format (eg. 15:00)</p> 
<input type="text" id="stime"> 
<br> 
<br> 
<button onclick="myFunction()">Calculate</button> 

<p id="finishtime"> 

回答

1

您可以將其存儲在HTML5的Web存儲,只包括下面的代碼在您的JS代碼

if (typeof(Storage) !== "undefined") { 
localStorage.setItem("convertedTime", converted); 
} else { 
// Sorry! No Web Storage support 
} 

,每當你想要獲取這些存儲的數據,你可以得到它正如下面

var convertedTime=localStorage.getItem("convertedTime"); 

然後,你可以在重新加載頁面後使用它在任何地方。

+0

謝謝,這個效果很好 – Hsan

+0

有沒有什麼辦法可以在我的輸入中加載存儲的日期 – Hsan

+0

如果它對你有幫助,請做upvote。 –

-1

你可以用客戶方存儲技術類似的localStorage來實現這一點。 Localstorage允許您存儲域特定的鍵值對數據offlie.Although可以序列化對象並將它們作爲字符串放置在特定鍵上。你甚至可以使用IndexDB。客戶端數據庫類似於sql。 使用其中的任何一項,您都可以確保沒有數據丟失。直到你清除它們或清除它們。

window.localStorage.setItem(key,value) -> will set a key value pair 
window.localStorage.getItem(key,value) -> will get a key value pair 

更多

HTML 5 rocks client side storage

visit here for indexdb Html5rocks