【问题标题】:Ajax request issue in IE9 using Richfaces 3.3.3 Final使用 Richfaces 3.3.3 Final 的 IE9 中的 Ajax 请求问题
【发布时间】:2013-04-08 15:30:13
【问题描述】:

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

" SCRIPT87:参数无效。

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

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

【问题讨论】:

  • +1 我也看到了这些问题,比如 ajax 的东西在 IE 中不起作用。在尝试调试我自己的应用程序之后,我只是尝试了展示,令我惊讶的是,即使他们的展示对于 IE 10 上的 ajax 内容也无法正常工作! (在 IE 中不使用兼容模式)。

标签: jsf richfaces


【解决方案1】:

暂时我通过替换以下行来解决问题。它工作正常。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-09-23
      • 1970-01-01
      • 2011-08-24
      • 2012-08-17
      • 2012-01-10
      • 1970-01-01
      • 2010-12-26
      • 2011-05-01
      • 2016-03-20
      相关资源
      最近更新 更多