2010-05-18 86 views
0

也許閉包是我的解決方案?不完全確定如何將其拉下來。如何將引用傳遞給JavaScript中的字符串?

代碼設置像這樣:

var globalVar = ''; 
var globalVar2 = ''; 

function func() 
{ 
    if (condition) 
    func2(globalVar) 
    else 
    func2(globalVar2) 
} 

func2()我緩存在主容器一些HTML,到我傳遞給它適當的全局變量。基本上我有一個主容器,根據他們選擇的標籤來保存不同的頁面。爲了提高性能,我希望將頁面緩存到全局變量中,因此我需要知道哪些選項卡處於活動狀態,以確定將哪個全局變量分配給HTML。

回答

1

爲全局只是在JavaScript中window對象的屬性,只是通過"globalVar""globalVar2"和使用window[myvar] = ...

+0

很酷。那會工作。謝謝 – ijjo 2010-05-18 18:52:54

0

可能我建議簡單地將這些緩存頁面添加到dom中並使用CSS隱藏它們,而不是試圖在JS中保持它們並不斷更改主內容容器?

+0

這是不是真的有必要或者分配給它。我只會使用AJAX並從文件加載頁面。 – dclowd9901 2010-05-18 17:47:24

+0

但是,每次更改內容時,都會有新的httprequest,這是緩存功能所能阻止的。通過這種方式,您最多可以加載每個頁面一次。你的方式可以無限次地加載頁面。有點誇張,但你明白了。 – aepheus 2010-05-18 17:56:43

+0

當有人點擊選項卡時,主容器通過ajax加載。在那一刻我緩存主容器的HTML,放一個Ajax加載器動畫GIF然後做一個Ajax調用服務器。當調用返回時,我將該html加載到主容器中。每次有人來回查看時,我不希望必須通過ajax請求來訪問服務器。所以這是一個電話,然後緩存每下一個標籤點擊。 緩存dom中的所有頁面並隱藏它們將是一個壞主意。我不得不加載頁面加載的所有6個標籤內容,這是不需要的。 – ijjo 2010-05-18 18:56:25

相關問題