我正在使用richfaces 3.3.3 Final和JSF 2.0,有时候任何一个ajax请求都会出现脚本错误会出现像
“SCRIPT87:参数无效。
3_3_3.Finalorg.ajax4jsf.javascript.AjaxScript,第143行“96”
它仅出现在IE 9中。刷新页面后,它可以正常工作。
答案 0 :(得分:3)
我暂时通过替换以下行来解决问题。它工作正常。
在richfaces-impl.jar中找到文件AJAX.js
位置:/org/ajax4jsf/javascript/scripts/AJAX.js
第1398行
oldnode.outerHTML = new XMLSerializer().serializeToString(newnode);
并将其替换为
if (typeof window.XMLSerializer != "undefined")
{
oldnode.outerHTML = new XMLSerializer().serializeToString(newnode);
}
else if (typeof xmlNode.xml != "undefined")
{
oldnode.outerHTML = xmlNode.xml;
}
第1627行
dst.setAttribute(attr,value);
并通过添加try,catch
替换try
{
dst.setAttribute(attr, value);
}
catch (err)
{
//alert('Error');
}
(或)
制作AJAX.js文件的副本并修改上述行,并将此文件包含在将替换旧文件的主页中。
答案 1 :(得分:2)
RichFaces 3.x不支持IE9。有关详细信息,请参阅此答案: https://stackoverflow.com/a/7326359/854386