有什麼方法可以修改函數中的全局變量,然後在另一個頁面中使用它?讓我更好地解釋我的情況:我有兩個HTML文件,「Index.html」和「character.html」。在指數中,我講的這個JS代碼:JavaScript修改一個文件中的變量並在另一個文件中讀取
var pcharacter = "initialValue";
document.getElementById("barbarianClass").onclick = function(event){
event.preventDefault();
pcharacter = "barbarian"; // the important line here...
location.href = "pages/character.html";
}
元素「barbarianClass」是一個鏈接,這就是爲什麼我preventDefault()
阻止默認行爲,直到我給了一個值,我pcharacter
變種。現在,我有character.html,貼有以下一個單個的JS代碼行:
alert(pcharacter);
在character.html,我都JS文件相關的,應該怎麼做:
<script type="text/javascript" src="indexCode.js"></script>
<script type="text/javascript" src="charsCode.js"></script>
問題是,當我點擊鏈接「barbarianClass」並且我的character.html頁面顯示時,即使當我說它在事件中附帶有值「barbarian」時,警報中顯示的var pcharacter也是「initialValue」打開頁面之前的鏈接。當然,我有這個變量的計劃,但是對於這個問題,警報更容易。請有人告訴我爲什麼保留initialValue?有沒有JS中有一個不明確的規則,說當你加載一個JS文檔時,全局變量不能再被改變或者類似的東西?我沒有任何意義......
讓我們假設這是可能的 - 你想要的頁面有你的銀行信息通過javascript變量訪問不同的頁面? –
是的,就像@EdHeal所說的,我不認爲這是可能的。你是否使用某種路由去頁面?在單個頁面應用程序中,變量將在'window'上聲明,因此當視圖/頁面加載時不會重新加載頁面,這個變量就會持久。雖然我懷疑這種情況。 –
只有當您使用AJAX加載內容時纔有可能,否則它會像現在一樣覆蓋該變量的值。您不僅使用本地存儲或cookie,而且還使用本地存儲或cookie。 –