我有一个在 Firefox 和 Chrome 中完美运行的 portlet 应用程序,但在 IE 8 和 9 中运行失败,但前提是我在门户页面上有 5 个或更多的 portlet 实例。如果页面上有 4 个或更少的 portlet 实例,它在 IE 中也可以正常工作。
当页面上有 5 个以上的 portlet 实例时,我看到的错误是:
SCRIPT87:参数无效。jquery-1.5.2.min.js,第 16 行字符 25442
该代码使用 jQuery 和一些插件,即 jqGrid。到目前为止,这是我为解决此问题所做的尝试,但没有任何区别:
- 升级了 jQuery 和 jQuery-UI 库。代码分别使用 1.5.2 和 1.7.2。升级到最新版本没有任何区别。
- 升级了 jqGrid 库。该代码使用版本 4.1.2。升级到 4.3.2 没有任何区别。
- 升级了bgiframe插件。该代码使用版本 2.1。升级到 2.1.3 没有任何区别。
因为是IE,所以很难debug看看是怎么回事。
有没有人以前见过这种行为或对可能发生的事情有任何想法?
更新:
好的,我已将 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 );
}
有任何想法吗?