2008-10-12 47 views
0

我有一个从服务器端渲染器写入/生成javascript的组件。该组件可以在同一页面中多次使用。但是,一旦页面被加载,我必须收集页面中由这个多个组件编写的所有变量或JSO。我该如何做到这一点,以便我可以收集所有变量或JSO? 例如如果这个组件(可以说)在页面中使用两次,那么它会在客户端/浏览器上发出两个JavaScript块 - var arr1 = new Array ['First','Second']和 var arr2 = new Array ['Third' ,'第四']。将由多个组件呈现的不同javascript对象组合起来

为了做出最终的渲染,我必须结合这两个数组。

回答

1

您需要针对您的问题进行更具体的描述,可能需要使用示例页面,但这里有一些想法。

如果你有一个页面生成过程中写入的JavaScript的服务器端组件,我会产生每一次函数调用,喜欢的东西:

Component_appendArray(['First', 'Second']); 
... 
Component_appendArray(['Third', 'Fourth']); 

然后确保你有你的功能Component_appendArray()这些调用之前定义:

var globalArray = []; 
function Component_appendArray(array) 
{ 
    globalArray = globalArray.concat(array); 
} 

最后,globalArray应包含以下内容:

['First', 'Second', 'Third', 'Fourth'] 

希望这会有所帮助。

0

尽管我并不了解整个场景,但让我建议如果要在整个HTML中打印出变量以便在页面加载后使用它们,则应该使用隐藏的输入字段。我经常看到这种情况,其中变量用于将值传递给页面底部的函数或脚本,但使用隐藏输入字段的值可让您将所有脚本从内容区域中取出。它使得更清洁的解决方案。