2010-05-18 29 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

相关问题