【问题标题】:Menu gone in DotNetNuke 4.5.5 on IE10IE10 上 DotNetNuke 4.5.5 中的菜单消失了
【发布时间】:2012-11-29 04:03:45
【问题描述】:

我有一个运行 DotNetNuke 4.5.5 的站点。使用 IE10 的用户看不到站点主菜单。任何线索为什么会发生这种情况,以及在哪里寻找解决方案?

【问题讨论】:

    标签: internet-explorer dotnetnuke internet-explorer-10


    【解决方案1】:

    我假设您使用的是与 IE10 不兼容的 SolPartMenu。除了主菜单,容器的操作菜单也是不可见的。

    我建议升级到DDRMenu,它是自 DNN 6 以来的默认导航提供程序。有一个适用于 DNN 4.5.0 及更高版本的安装包,因此您不必仅仅因为菜单而升级 DotNetNuke .

    DDRMenu 提供了一种升级 SolPartMenu 外观和容器的简单方法,使用兼容性模板,该模板支持许多但不是所有 SolPartMenu 属性。

    要升级 SolPart 菜单,请编辑皮肤的 ASCX 文件并替换:

    <%@ Register TagPrefix="dnn" TagName="..." src="~/Admin/Skins/SolPartMenu.ascx" %>
    

    <%@ Register TagPrefix="dnn" TagName="..." src="~/DesktopModules/DDRMenu/SolPartMenu.ascx" %>
    

    升级容器是类似的过程,替换:

    <%@ Register TagPrefix="dnn" TagName="..." Src="~/Admin/Containers/SolPartActions.ascx" %>
    

    <%@ Register TagPrefix="dnn" TagName="..." Src=""~/DesktopModules/DDRMenu/Actions.ascx"" %>
    

    另见:

    DDRMenu user guide

    【讨论】:

    • 不错!快速修复旧 DNN 站点。
    【解决方案2】:

    我可能有点晚了,但我在一个客户那里遇到了这个问题,我通过更改 SPMenuCaps.config (\controls\SolpartMenu) 解决了这个问题。我在 Renders Uplevel 下添加。现在我的文件看起来像这样,它适用于 ie11:

    <?xml version="1.0" encoding="utf-8" ?>
    <capabilities> 
        <functionality nm="UpLevel" desc="Renders Uplevel">
            <supports>
                <browser nm="IE" minversion="4" />
                <browser nm="Netscape" minversion="5" />
                <browser nm="Gecko" minversion="1" />
                <browser nm="Opera" minversion="7" />
                <browser contains="Konqueror" />
                <browser contains="Safari" />
                <browser contains="FireFox" />
          <browser contains="Camino" />
          <browser contains="Mozilla" />
            </supports>
            <excludes>
            </excludes>
        </functionality>
        <functionality nm="XMLParsing" desc="Client Side XML Parsing">
            <supports>
                <browser nm="IE" minversion="4" />
                <browser nm="Netscape" minversion="5" />
                <browser nm="Gecko" minversion="1" />
                <browser contains="FireFox" />
          <browser contains="Camino" />
            </supports>
            <excludes>
                <browser contains="Konqueror" />
                <browser contains="Mac" />
                <browser contains="Windows CE" />
            </excludes>
        </functionality>
        <functionality nm="XMLDataIslands" desc="XML DataIslands supported (allows caching)">
            <supports>
                <browser nm="IE" minversion="5" />
            </supports>
            <excludes>
                <browser contains="Mac" />
                <browser contains="Windows CE" />
            </excludes>
        </functionality>
        <functionality nm="Transitions" desc="Menu Effects Transitions">
            <supports>
                <browser nm="IE" minversion="5" />
            </supports>
            <excludes>
                <browser contains="Mac" />
            </excludes>
        </functionality>
    </capabilities>
    

    【讨论】:

    • 如果其他人不明白,解决方法是在“UpLevel”支持部分添加 行。将此行添加到“XMLParsing”支持部分也有帮助。然后,菜单将使用包含“Mozilla”的用户代理字符串访问的任何内容识别为可以呈现 Javascript 菜单的客户端。
    • 在这里大 +1。顺便说一下,将 添加到 XMLParsing 对我不起作用(实际上它以某种方式破坏了 Chrome)。实际上,我不得不将它添加到 XMLParsing 和 XMLDataIslands 的“排除”部分。
    【解决方案3】:

    我遇到了类似的问题,每个人似乎都认为升级到更新版本的 DNN 是解决方案。在我的情况下,我继承了旧服务器(Windows 2003 旧),解决方案是服务器配置而不是 DNN。 .NET 2.0 和 4.0 中似乎存在问题,其中浏览器定义不包括 IE 10,这导致 _doPostBack 在 DNN 4+ - DNN6 上几乎普遍失败?

    可以在此 HotFix 中找到解决方案: http://support.microsoft.com/kb/2600088

    或者在 .Net 4.0 的可靠性更新 2 中: http://support.microsoft.com/kb/2600217

    不要忘记,如果出现问题,您可以使用参数“/uninstall”卸载修补程序。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多