簡體   English   中英

動態加載/卸載 Javascript

[英]Loading/unloading Javascript dynamically

我們正在創建一個動態的 web 應用程序,其中只有 web 頁面的某些部分將通過 Z6A2D7208853DAFFCB96FB5A7382B0C7B577ABECE5599 加載/卸載/重新加載

但是我們擔心如果用戶長時間(幾個小時)運行我們的應用程序而沒有完全刷新 web 頁面會發生什么。

例如,我們有一個帶有模塊 Map、Shop、Fight 的游戲。 該頁面還有一些在開始時加載的模塊(如 header 與統計和聊天)。 但是所有的導航和更改大多發生在使用 AJAX 的中心。 假設用戶執行以下操作:

去Map去商店去戰斗去商店去Map...

由於 Map,Shop,Fight 有自己獨立的 Javascript 文件,這些文件會在每個請求時加載(我猜,主要來自瀏覽器緩存),memory 的使用會發生什么? 當用戶“導航離開”Map 時,我們是否需要清理 Map 變量和事件處理程序? 當用戶第二次導航到 Map 時,是否會與舊的 Map 腳本發生沖突? 如果我們不對卸載進行一些清理,瀏覽器會開始使用越來越多的 RAM,因此最終用戶將被迫重新加載頁面嗎?

有沒有可靠的技術來處理這種情況?

如果您將所有功能綁定到某些 object,您可以隨時釋放 object 的所有功能。 例如:

function badFunction(a,b,c) {
   alert("Bad example of function. Can't cleanup this.";
}

var gameObject = new Object();
gameObject.goodFunction = function (a,b,c) {
   alert("Good example of a function");
}

//Here the whole gameObject 'module' will be allowed to be garbage collected (hopefully).
gameObject = null;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM