4

我使用的是richfaces 3.3.3 Final和JSF 2.0,有时任何ajax请求都会出现脚本错误

" SCRIPT87:无效参数。

3_3_3.Finalorg.ajax4jsf.javascript.AjaxScript,第 143 行字符 96"

它只出现在 IE 9 中。刷新页面后它工作正常。

4

2 回答 2

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 文件的副本并修改上述行并将此文件包含到您的主页中,以替换旧文件。

于 2013-04-25T05:59:04.860 回答
2

RichFaces 3.x 不支持 IE9。有关更多详细信息,请参阅此答案: https ://stackoverflow.com/a/7326359/854386

于 2013-04-19T10:32:55.270 回答