0

私はいくつかの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>

および別の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');
}

そして私の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構造は、ウィンドウからでも利用できません。何か案は?

4

1 に答える 1

0

問題が解決しました!

変化する:

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

単純に:

<script>

そして、すべてが再び正常に動作します。

于 2012-07-25T14:17:31.823 に答える