Javascript IE8中js模块之间的公共数据

Javascript IE8中js模块之间的公共数据,javascript,jsp,internet-explorer-8,Javascript,Jsp,Internet Explorer 8,我有一个由几个jsp文件组成的web应用程序,其中几个使用了常见的jscript模块。我的问题是在IE8中访问jscript模块之间的公共数据时遇到困难 例如,在jsp文件中: <script for="window" event="onload"> // My globals. myGlobals = new Object(); // Attach it to the window for maximum availability. window.myGlobals = myGlo

我有一个由几个jsp文件组成的web应用程序,其中几个使用了常见的jscript模块。我的问题是在IE8中访问jscript模块之间的公共数据时遇到困难

例如,在jsp文件中:

<script for="window" event="onload">
// My globals.
myGlobals = new Object();
// Attach it to the window for maximum availability.
window.myGlobals = myGlobals;
// Add some fields to it.
// List is actually built from external data so cannot be included from external file.
myGlobals.filters = [
'Filter-Women',
'Filter-Men',
'Filter-Girls',
'Filter-Boys',
];
myGlobals.filtered = '';
</script>

//我的地球仪。
myGlobals=新对象();
//将其连接到窗口以获得最大可用性。
window.myGlobals=myGlobals;
//向其中添加一些字段。
//列表实际上是从外部数据生成的,因此不能从外部文件中包含。
myGlobals.filters=[
“过滤女性”,
“过滤员”,
“过滤女孩”,
“过滤男孩”,
];
myGlobals.filtered='';
在单独的js文件中:

function filter(f) {
  for (var i = 0;i < myGlobals.filters.length;i++){
    if ( 'Filter-'+f == myGlobals.filters[i] ) {
      filterIn(document.getElementById(myGlobals.filters[i]));
    } else {
      filterOut(document.getElementById(myGlobals.filters[i]));
    }
  }
  myGlobals.filtered = f;
}

function filterIn(e) {
  e.classList.add('filterselected');
}

function filterOut(e) {
  e.classList.remove('filterselected');
}
函数过滤器(f){
for(var i=0;i
在我的jsp中,该列表也是基于与上面相同的外部数据构建的:

<div class="filterbuttons">
<a id="Filter-Women" onclick="filter('Women')">WOMEN</a>
<a id="Filter-Men" onclick="filter('Men')">MEN</a>
<a id="Filter-Girls" onclick="filter('Girls')">GIRLS</a>
<a id="Filter-Boys" onclick="filter('Boys')">BOYS</a>
</div>

女人
男人
姑娘们
男孩
现在,这一切都可以在Firefox中正常工作,但客户也需要在IE8中工作。在那里,myGlobals结构不可用,甚至从窗口也不可用。有什么想法吗?

问题解决了

更改:

<script for="window" event="onload">

简单地说:

<script>

一切又恢复正常了