5 回答

TA貢獻1875條經驗 獲得超3個贊
創建一個新的文本文件并將您的 Counter 變量添加到其中......
var Counter = [];
...然后將文本文件重命名為 Shared.js
現在將此行添加到所有需要此變量的 HTML 頁面,在它們的 HEAD 部分...
<script src="Shared.js"></script>
所有頁面現在應該能夠共享這個數組以及您可能希望添加到 Shared.js 的任何其他變量。

TA貢獻1869條經驗 獲得超4個贊
您還可以使用 sessionStorage。
PageOne.html
<html>
<head>
<title>Page One</title>
</head>
<body>
<button onClick="test()">Click me!</button>
<script>
var Counter = [];
function test() {
Counter.push("1");
sessionStorage.setItem("counter", JSON.stringify(Counter));
window.location.replace("PageTwo.html");
}
</script>
</body>
</html>
PageTwo.html
<html>
<head>
</head>
<body>
<script>
var counter = sessionStorage.getItem("counter");
console.log(counter);
</script>
</body>
</html>

TA貢獻1812條經驗 獲得超5個贊
JavaScript 執行上下文僅限于單個頁面。換句話說,當您離開該頁面時,所有 JavaScript 變量都將丟失。
一種解決方案是使用localStorage。
LocalStorage允許您保存跨會話(同一域)持續存在的少量數據。您可以將字符串化數組保存到localStorage并在加載頁面時將其取回。
//Save array to localstorage
window.localStorage.setItem('arr', JSON.stringify(arr));
//Retreive item from localStorage
arr = window.localstorage.getItem('arr');
arr = JSON.parse(arr);
還有其他解決方案,例如將字符串化數組值作為 ural 參數傳遞給下一頁。但我想localStorage是少工作。

TA貢獻1155條經驗 獲得超0個贊
刷新或轉到其他網頁時不會保存變量。如果要保存它們,可以嘗試將它們保存在 Cookies 中,或者更簡單的解決方案HTML5 Storage。
首先,使用 JSON 將變量轉換為字符串:var CounterString = JSON.stringify(Counter);
然后,將字符串保存在 HTML5 存儲中:localStorage.setItem("Counter", CounterString);
之后,無論您想在何處訪問計數器,只需使用:(Counter = JSON.parse(localStorage.getItem("Counter"));它獲取計數器字符串并將其解析回 JavaScript 對象。
完整代碼:
var Counter = JSON.parse(localStorage.getItem("Counter"));
function test() {
Counter.push("1")
var CounterString = JSON.stringify(Counter);
localStorage.setItem("Counter", CounterString);
window.location.replace("page2.html")
}
添加回答
舉報