以下是我为解决此问题所做的工作:
1) 从http://sourceforge.net/projects/sarissa/下载 sarissa-full-0.9.9.6.zip
2)在sarissa-full-0.9.9.6.zip中找到sarissa.js文件,用写字板打开。
3)在richfaces-impl-3.1.6.GA.jar中找到AJAX.js文件,用写字板打开。
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 句号 sourceforge 句号网
. . . . . . . . . . . .
// EOF
5) 将 AJAX.js 中的整个 sarissa 代码部分替换为 sarissa.js 中的代码(参见 #2)。
6) 现在搜索 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 || 文档.documentMode >= 9);
8) 保存并将这个新更新的 AJAX.js 替换为richfaces-impl-3.1.6.GA.jar。
9) 现在你可以测试它了。注意:出于某种奇怪的原因,为了让 IE10 采用新更新的 AJAX.js,我必须访问该页面并执行另存为以将整个 html 保存到我的本地。一旦我这样做了,新的 AJAX.js 就会开始生效。可能还有其他方法可以刷新缓存,但这是对我有用的方法。