IE使用jquery的参数无效

我有一个在Firefox和Chrome中完美运行的portlet应用程序,但是在IE 8和9中爆炸,但是只有在门户页面上有5个或更多portlet实例时才会出现。 如果页面上有4个或更少的portlet实例,它在IE中也能正常工作。

当我在页面上有5个以上的portlet实例时,我看到的错误是:

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,所以很难调试以查看发生了什么。

有没有人见过这种行为或对可能发生的事情有任何想法?

更新:

好的,我已经用非缩小版本替换了jQuery文件的最小版本。 这是我在IE 8页面上有5个以上portlet实例时看到的错误:

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 ); } 

有任何想法吗?

我弄清楚这里出了什么问题。 事实certificate,当已经加载了大量CSS时,在IE中动态加载CSS文件会导致问题。 请参阅动态加载css样式表不适用于IE

希望这可以帮助遇到同样问题的其他人。

也许你的页面正在添加一个格式不正确的JSON。

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

Chrome和Firefox只会忽略最终的逗号。

还要检查jQuery冲突,并确保只包含一个版本的jQuery并且只包含一次。