0

Firefox と Chrome では問題なく動作するポートレット アプリケーションがありますが、IE 8 と 9 では爆発的に機能しますが、ポータル ページにポートレットのインスタンスが 5 つ以上ある場合に限られます。ページ上のポートレットのインスタンスが 4 つ以下の場合、IE でも正常に機能します。

ページにポートレットのインスタンスが 5 つ以上ある場合に表示されるエラーは次のとおりです。

SCRIPT87: 引数が無効です。jquery-1.5.2.min.js、16 行目の文字 25442

このコードでは、jQuery といくつかのプラグイン (jqGrid) を使用しています。問題を解決するためにこれまでに試したことは次のとおりですが、どれも違いはありません。

  1. jQuery および jQuery-UI ライブラリをアップグレードしました。コードはそれぞれ 1.5.2 と 1.7.2 を使用します。最新バージョンにアップグレードしても違いはありませんでした。
  2. jqGrid ライブラリをアップグレードしました。コードはバージョン 4.1.2 を使用します。4.3.2 にアップグレードしても違いはありませんでした。
  3. bgiframe プラグインをアップグレードしました。コードはバージョン 2.1 を使用します。2.1.3 にアップグレードしても違いはありませんでした。

IE であるため、デバッグして何が起こっているのかを確認するのは非常に困難です。

誰かが以前にこの動作を見たことがありますか、または何が起こっているのかについて何か考えがありますか?

アップデート:

OK、jQuery ファイルの最小バージョンを非縮小バージョンに置き換えました。IE 8 のページにポートレットのインスタンスが 5 つ以上ある場合に表示されるエラーは次のとおりです。

Message: Invalid argument.
Line: 2105
Char: 5
Code: 0
URI: https://nasa-iceint.nasa.gov/portal/ice-theme/js/jquery-1.5.2.js

jQuery ファイルからの適切なコードは次のとおりです。

if ( set ) {
                // convert the value to a string (all browsers do this but IE) see #1070
                elem.setAttribute( name, "" + value );
            }

何か案は?

4

3 に答える 3

4

ここで何が問題なのかがわかりました。既に大量の CSS が読み込まれている場合に、IE で CSS ファイルを動的に読み込むと、問題が発生する可能性があることが判明しました。css スタイルシートの動的読み込みが IE で機能しないを参照してください。

うまくいけば、これは同じ問題に遭遇した他の誰かを助けるでしょう.

于 2012-05-21T13:08:30.017 に答える
0

おそらく、あなたのページは適切に形成されていない JSON を追加しています。

var jsonThatWorksOnFirefoxAndChrome = {
    first:"ok",
    last: "not ok, remove the comma after this string to fix it",
}

Chrome と Firefox は最後のコンマを無視します。

于 2012-04-23T21:01:01.800 に答える
0

また、jQuery の競合を確認し、jQuery のバージョンを 1 つだけ、1 回だけ含めるようにしてください。

于 2013-02-18T08:38:45.797 に答える