pageUserMenuMobile swipe mobil deaktivieren

  • Ich versuche gerade das Swipen von pageUserMenuMobile mobil zu unterbinden.

    Setze ich

    Code
    #pageUserMenuMobile {
    isplay: none;
    }

    wird zwar nichts mehr angezeigt, die Klassen disableScrolling pageOverlayActive aber trotzdem dem Dokument hinzugefügt und dadurch kann man nicht mehr scrollen.

    Gibt es hier eine einfache Möglichkeit das Benutzermenü ohne weitere Nebenwirkungen zu deaktivieren?

  • Das wäre eine Lösung, jedoch flickert es dann für einen kurzen Moment. Ebenso wird beim versehentlichen Öffnen des User Menu die Page Action Buttons ausgeblendet - auch nicht ideal. Man müsste das Öffnen also eigl. komplett verhindern.

  • Hallo,

    MutationObserver ist asynchron und läuft afaik erst im nächsten Cycle vom Event-Loop, dementsprechend wirst du das Problem immer haben. Eine wirkliche Lösung kann ich dir leider nicht anbieten, der Code ist nicht darauf ausgelegt, in irgendeiner Form abgebrochen zu werden. Mit WoltLab Suite 5.5 wurde diese Funktionalität vollständig entfernt.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

  • Ich denke ich habe eine gute Lösunge gefunden (das betrifft natürlich nur Seiten, wo das mobile User-Menü komplett ausgeblendet werden soll):

    Template pageMenuMobile.tpl in eigene Templategruppe kopiert und das Benutzermenü entsprechend ersetzt:

    Code
    {* user menu *}
    <div id="pageUserMenuMobile" class="pageUserMenuMobile menuOverlayMobile" data-page-logo="{$__wcf->getStyleHandler()->getStyle()->getPageLogo()}">
        <ol class="menuOverlayItemList" data-title="{lang}wcf.menu.user{/lang}">
            <li class="menuOverlayTitle">{lang}wcf.menu.user{/lang}</li>
        </ol>
    </div>

    Dabei wird kein JS-Fehler geworfen wegen einem fehlendem Menu o.Ä. Gleichzeitig Gibt Ui/Page/Menu/User::hasValidMenu dadurch false zurück und das Menü wird erst gar nicht initialisiert. Das spart möglicherweise sogar noch einige Millisekunden beim mobilen Aufruf.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!