我有一个在Firefox和Chrome中完美运行的portlet应用程序,但是在IE 8和9中爆炸,但是只有在门户页面上有5个或更多portlet实例时才会出现。如果页面上有4个或更少的portlet实例,它在IE中也能正常工作。
当我在页面上有5个以上的portlet实例时,我看到的错误是:
SCRIPT87:参数无效。 jquery-1.5.2.min.js,第16行,25442
代码使用jQuery和一些插件,即jqGrid。以下是我迄今为止尝试解决这个问题的方法,其中没有一个有任何区别:
因为它是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 );
}
有什么想法吗?
答案 0 :(得分:4)
我弄清楚这里出了什么问题。事实证明,当已经加载了大量CSS时,在IE中动态加载CSS文件会导致问题。见Dynamically loading css stylesheet doesn't work on IE
希望这可以帮助遇到同样问题的其他人。
答案 1 :(得分:0)
也许你的页面正在添加一个格式不正确的JSON。
var jsonThatWorksOnFirefoxAndChrome = {
first:"ok",
last: "not ok, remove the comma after this string to fix it",
}
Chrome和Firefox只会忽略最后一个逗号。
答案 2 :(得分:0)
同时检查jQuery冲突并确保只包含一个版本的jQuery并且只包含一次。