所以我有這樣的一段代碼在HTML文件中稱爲demo.html爲什麼加載一個新的html頁面重置javascript變量?我如何保存這些變量?
<img class="card-img-top" src="src/San_Francisco_Opera_House.jpg"
onclick="buyFunction('src/San_Francisco_Opera_House.jpg',
'SF opera house', 'price: $360,000')" alt="Card image cap">
這將運行該JavaScript函數加載一個新的HTML頁面。我想在新頁面中顯示圖像,
function buyFunction(housePhotoString, addressString, priceString) {
$(location).attr('href', 'buy.html');
houseAttributes.housePhoto = housePhotoString;
houseAttributes.address = addressString;
houseAttributes.price = priceString;
$(document).ready(function() {
setPicturePriceAndAddress();
});
};
function setPicturePriceAndAddress() {
let strHTML = "";
strHTML +=
+"<img class=\"card-img-top\" src=\"" + houseAttributes.housePhoto + "alt=\"Card image cap\">" +
"<div class=\"card-block\">" +
"<h4 class=\"card-title\">" +
"</i>" + houseAttributes.address + "</h4>" +
"<p class=\"card-text\">" + houseAttributes.price + "</p>" +
"</div>";
$("#housePhotoBuy").html(strHTML);
};
但是所有的值都被重置。還是有另一種方式發送信息到新的HTML文件,而不必保存變量?
加載新頁面後,一頁上的Javascript已消失。您可以將數據存儲在locaStorage中或將其發佈到服務器端腳本。請注意,只要您開始重定向,其他任何東西都不會執行 – charlietfl
建議:查看[AJAX](https://developer.mozilla。org/en-US/docs/AJAX/Getting_Started) –