0

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

为了进行最终渲染,我必须组合这两个数组。

4

2 回答 2

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']

希望这可以帮助。

于 2008-10-12T23:18:24.807 回答
0

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

于 2008-10-12T23:28:35.877 回答