Richfaces 3.1.6无法在IE 10上运行

时间:2013-11-11 17:21:24

标签: richfaces

我在我们网站上的所有a4j:commandlink上收到以下javascript错误。此错误仅在IE 10上发生。IE 8/9没有问题。

消息:对象不支持属性或方法'setProperty' 行:6 查尔:148 代码:0 URI:http://localhost.com:9082/a4j_3_1_6.GAorg.ajax4jsf.javascript.AjaxScript.jsf

我无法确定,但以下似乎是错误的陈述: oDoc.setProperty( “SelectionLanguage”, “的XPath”)

和oDoc似乎是通过这个statemetn创建的:oDoc = new ActiveXObject(idList [i]

有人遇到同样的问题吗?

2 个答案:

答案 0 :(得分:2)

以下是我为解决此问题所做的工作:

1)从http://sourceforge.net/projects/sarissa/

下载sarissa-full-0.9.9.6.zip

2)在sarissa-full-0.9.9.6.zip中找到sarissa.js文件并用wordpad打开它。

3)在richfaces-impl-3.1.6.GA.jar中找到AJAX.js文件并用wordpad打开它。

4)在AJAX.js中,有一段代码实际上是旧版sarissa.js的副本。这部分代码的开头和结尾如下:

/ **  * ================================================= ===================  * 关于  * ================================================= ===================  * Sarissa是一个ECMAScript库,充当原生XML API的跨浏览器包装器。  *该库支持基于Gecko的浏览器,如Mozilla和Firefox,  * Internet Explorer(5.5+与MSXML3.0 +),Konqueror,Safari和一点Opera  * @version $ {project.version}  * @author:Manos Batsis,mailto:mbatsis at users full stop sourceforge full stop net

。 。 。 。 。 。 。 。 。 。 。

// EOF

5)用aarissa.js中的代码替换AJAX.js中的整个sarissa代码部分(参见#2)。

6)现在搜索以_SARISSA开头的AJAX.js中的所有文本。附加Sarissa。在文本前面,如果它没有。例如:if(_SARISSA_IS_IE){应更改为if(Sarissa._SARISSA_IS_IE){

7)现在替换下面(见http://sourceforge.net/p/sarissa/bugs/62/):

Sarissa._SARISSA_IS_IE9 = Sarissa._SARISSA_IS_IE&& navigator.userAgent.toLowerCase()。indexOf(“msie 9”)> -1;

Sarissa._SARISSA_IS_IE9 = Sarissa._SARISSA_IS_IE&& (navigator.userAgent.toLowerCase()。indexOf(“msie 9”)> -1 || navigator.userAgent.toLowerCase()。indexOf(“msie 10”)> -1 || document.documentMode> = 9 );

8)保存并将这个新更新的AJAX.js替换为richfaces-impl-3.1.6.GA.jar。

9)现在你准备好测试一下了。注意:由于某些奇怪的原因,为了让IE10采用新更新的AJAX.js,我将访问该页面并进行保存以将enire html保存到我的本地。一旦我这样做,新的AJAX.js就开始生效了。可能还有其他方法来刷新缓存,但这对我有用。

答案 1 :(得分:0)

我还必须删除Ajax.js中的以下行:

LOG.debug("隐藏的JSF状态字段:" + idsSpan);