使用Richfaces 3.3.3 Final的IE9中的Ajax请求问题



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

" SCRIPT87:无效参数。

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

只出现在ie9中。刷新页面后可以正常工作

暂时通过替换下面的行来解决这个问题。

在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文件的副本,并修改上面的行,并将该文件包含到您的主页,将取代旧的

x不支持IE9。更多细节请参考以下回答:https://stackoverflow.com/a/7326359/854386

相关内容

  • 没有找到相关文章

最新更新