首页 > 解决方案 > Liferay 7.3.2:更改页面后 Aria 扩展卡在 true 上

问题描述

我的页面上有几个下拉菜单,按钮打开和关闭下拉菜单。初始页面加载后一切顺利,但在更改为不同的页面后,下拉菜单通过单击打开,但从不关闭。似乎按钮aria-expanded被卡住true并且下拉列表div有 classes collapse open,它试图折叠但永远不会这样做(单击按钮会给出 divcollapsing类然后返回)。

我不知道为什么会发生这种情况,以及它是否与 Liferay、freemarker、css 或其中任何一个有关......

这是我的应用程序显示模板:

<div id="a_language_selector">
    <button
        aria-controls="a_language_list"
        aria-expanded="false"
        role="button"
        data-toggle="collapse"
        data-target="#a_language_list"
    >
        <!-- CHANGE THIS -->
        <@liferay.language key="EN" />
    </button>

    <ul
        id="a_language_list"
        class="panel-collapse collapse"
        aria-labelledby="a_language_list"
    >
        <#if entries?has_content>
            <#list entries as navigationEntry>
                <li aria-label="${navigationEntry.getName()}">
                    <a href="${navigationEntry.getURL()}">
                        ${navigationEntry.getName()}
                    </a>
                </li>
            </#list>
        </#if>
    </ul>
</div>

标签: sassfreemarkerliferay-7liferay-7.3

解决方案


找到了答案,并且与 Liferay 自己的 javascript (SennaJS) 有关!

在 Liferay 中更改页面不会更新整个站点,并且会在会话周围留下旧信息,从而破坏崩溃。

我将这一行添加到我的portal-ext.properties,虽然它现在在所有页面更改后加载,但效果很好!

javascript.single.page.application.enabled=false 

可在此处找到更多信息(help.liferay.com)


推荐阅读