在Outlook中打开ExtJS应用程序 - Outlook模仿IE7?

时间:2014-09-29 14:33:01

标签: internet-explorer extjs outlook

我有一个应该与Outlook 2013集成的Web应用程序,并且希望也可以与Outlook 2010集成。

在Outlook中,您可以拥有一个带有“默认网站”的文件夹,该文件夹可用于我们客户的所有乐趣。

但不是我们的应用程序,因为 - 仅在Outlook中 - 在Ext代码中引发了一个错误,

if (Ext.isIE9m) {
    Element.prototype.getById = function (id, asDom) {
        var dom = this.dom,
            cacheItem, el, ret;

        if (dom) {
            // for normal elements getElementById is the best solution, but if the el is
            // not part of the document.body, we need to use all[]
            el = (useDocForId && DOC.getElementById(id)) || dom.all[id];

在最后一行,它说

  

0x800a138f - JavaScript运行时错误:无法获取未定义或空引用的属性'ext-quicktips-tip-frame1MC'

在IE11,IE10,IE9,IE8,FF24,FF37,Chrome 37中,一切都运行良好,因为我使用<meta http-equiv="X-UA-Compatible" content="IE=Edge">。但这对Outlook没有帮助,它告诉我它是

  

Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 6.1; WOW64,Trident / 7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; Media Center PC 6.0; .NET4.0C; .NET4 .0E; Microsoft Outlook 15.0.4615)

我可以告诉Outlook使用最新安装的IE - 并相应地设置用户代理吗?

Outlook是使用IE7(或IE7渲染模式),还是只是提交了一个错误的用户代理,并且ExtJS错误地认为每个通过Ext.isIE9m测试的浏览器都有特定的功能? / p>

1 个答案:

答案 0 :(得分:0)

InternetExplorer具有正确设置的javascript对象 RewriteEngine On RewriteBase / ,但ExtJS未对其进行正确评估。

如果Ext-more.js包含以下内容,那么它可以工作:

document.documentMode

而不是

isIE7 = isIE && ((check(/msie 7/) && docMode != 8 && docMode != 9 && docMode != 10 && docMode != 11) || docMode == 7),
isIE8 = isIE && ((check(/msie 8/) && docMode != 7 && docMode != 9 && docMode != 10 && docMode != 11) || docMode == 8),
isIE9 = isIE && ((check(/msie 9/) && docMode != 7 && docMode != 8 && docMode != 10 && docMode != 11) || docMode == 9),
isIE10 = isIE && ((check(/msie 10/) && docMode != 7 && docMode != 8 && docMode != 9 && docMode != 11) || docMode == 10),
isIE11 = isIE && ((check(/trident\/7\.0/) && docMode != 7 && docMode != 8 && docMode != 9 && docMode != 10) || docMode == 11),