任何版本的Internet Explorer上的iNotes都在模拟IE9

时间:2016-05-25 20:27:21

标签: ajax lotus-notes lotus-domino

我正在定制iNotes(Notes web邮件客户端),使用需要ajax调用外部源的javascript添加一些功能。这样做我发现Internet Explorer不会执行CORS(跨域)请求。错误是访问被拒绝或其他一些安全错误,具体取决于它的调用方式。 Chrome和FF以及Safari都可以使用。

我发现我认为是罪魁祸首,iNotes添加了一个元标记来模仿IE9。

<META http-equiv="X-UA-Compatible" content="IE=EmulateIE9" /> 

对于CORS请求,IE9不支持XMLHttpRequest,而是必须使用XDomainRequest,它仅在IE8和IE9中受支持。由于它正在模拟IE9,因此XMLHttpRequest(或jQuery .ajax调用此问题)不起作用。

我无法找到任何方法来删除该元标记,我对邮件文件进行了搜索,并且找不到IE = EmulateIE9的匹配项。而且我确定如果我删除它,我会在iNotes中打破一些东西。

我不想加载jQuery,但可能会为此脚本执行此操作并包含moonscript插件,该插件使用XDR for ie8和ie9浏览器。如果iNotes一直在更新,它仍然有效。

其他人遇到此问题并找到更好的解决方案吗?

1 个答案:

答案 0 :(得分:0)

Lothar Mueller指出了我正确的方向。

Domino 9.0.1 Fix Pack 5添加了一个Forms9s.nsf,它允许你摆脱&#34; Quirks Mode&#34;用于IE向后兼容性。安装FP后,安装新的forms9s.nsf文件,然后用

更新notes.ini
iNotes_WA_DefaultFormsFile=iNotes/Forms9s.nsf
iNotes_WA_FormsFiles=iNotes/Forms9s.nsf

它消除了IE的仿真标记。我仍然需要测试我的iNotes自定义应用程序,但这提供了一个选项来运行一些以前没有工作的IE功能,例如来自iNotesExt_9.nsf等的​​Ajax请求。