JDownloader Community - Appwork GmbH
 

Reply
 
Thread Tools Display Modes
  #1  
Old 02.04.2018, 14:02
loaderr loaderr is offline
Super Loader
 
Join Date: Aug 2016
Posts: 25
Question My.JDownloader.org Dialoge erscheinen außerhalb des sichtbaren Bereiches

Hi schon seit einigen Wochen habe ich folgendes problem in der Weboberfläche von my.jdownloader.org:

Wenn sich Dialoge öffnen, wie beispielsweise Bestätigungen ob man einen Eintrag löschen will, oder auch der Dialog zum Captcha lösen, dann tauchen diese sehr oft außerhalb des sichtbaren Bereiches auf.
Auch betroffen ist das Kontextmenü von Downloadeinträgen.

Das problem tritt immer dann auf, wenn man in der Downloads-Liste mehr Einträge hat, als auf den aktuellen Bildschirm passen und dann rechts der Scrollbalken auftaucht.

Das dumme ist nur, dass wenn der Dialog auftaucht an nicht mehr scrollen kann, weil dann der Dialog sofort geschlossen wird (klick auf den Bereich außerhalb des Dialogs). Man muss also alles wieder von vorne machen und hoffen, dass der Dialog im sichtbaren Bereich auftaucht.

Das problem besteht mit mehreren unterschiedlichen Browsers, z.B. Firefox.
Reply With Quote
  #2  
Old 03.04.2018, 17:23
mrc's Avatar
mrc mrc is offline
Guardian of the Droids
 
Join Date: Jan 2013
Location: Germany
Posts: 288
Default

Danke für den Bericht. Wäre eine TeamViewer Sitzung möglich? Falls ja, einfach eine kurze Mail an support@jdownloader.org dann klären wir alles Weitere.
__________________
My.JDownloader.org Web Interface | Android App | Browser Extensions [Feedback Thread]
Reply With Quote
  #3  
Old 03.04.2018, 19:50
loaderr loaderr is offline
Super Loader
 
Join Date: Aug 2016
Posts: 25
Default

Also von Support-session über TeamViewer bin ich nicht so begeistert. Stattdessen habe ich mal ein wenig tiefer gegraben:

Das Problem ist die Positionierung des HTML-Elements mit der CSS-Klasse "gwt-PopupPanel".
Wenn man beispielsweise das 30. Element (also eines wofür man scrollen muss) in der Downloadliste löschen will also das Element auswählt und die Entf-Taste drückt dann taucht der Dialog "Bestätigung" ganz kurz auf und verschwindet dann in den Offscreen-Bereich.

Ich habe festgestellt, dass wenn man das Browserfenster in der Größe verändert taucht der Dialog wieder an der richtigen Stelle auf. Die Positionsberechnung nach dem resize-Event ist also korrekt.

Daher habe ich mir mal die Koordinaten angesehen, an denen "gwt-PopupPanel" auftaucht. Wenn der Dialog unsichtbar ist dann sehe ich im Firefoxdebugger für das gwt-PopupPanel <div>-Element top="2352px". Ändere ich die Browserfenstergröße so dass das Fenster wieder sichtbar wird ändert sich top auf "1229 px".

Dann habe ich mir mal mit dem JavaScript Debugger den Code vorgeknöpft.

Das verschieben in den Offscreen-Bereich wird durch den code in main.min.js verursacht, genauer gesagt im Eventhandler für "DOMNodeInserted" (bei mir Zeile 58).
Code:
    $('#webuiContent').bind('DOMNodeInserted', function (e) {
        var dialogs = $(e.target).find(".GHS0TFHLI");
        if (dialogs != null && dialogs.length > 0) {
            setTimeout(function () {
                var dialogContainer = dialogs.first().parent().parent().parent();
                var targetX = dialogContainer.offset().left + window.pageXOffset;
                var targetY = dialogContainer.offset().top + window.pageYOffset;
                dialogContainer.css({top: targetY + "px", left: targetX + "px"}); // <- diese Zeile verursacht das verschieben des Dialogs.
            }, 120);
        }
    });
So wie ich das sehe ist die Y-Koordinate doppelt gemoppelt. Da der Dialog schon an der richtigen Stele steht ist dialogContainer.offset().top schon passend. Wenn man dann noch window.pageYOffset dazu addiert verdoppelt sich der Wert fast und der Dialog landet irgendwo im unsichtbaren Bereich.
Reply With Quote
  #4  
Old 04.04.2018, 11:21
mrc's Avatar
mrc mrc is offline
Guardian of the Droids
 
Join Date: Jan 2013
Location: Germany
Posts: 288
Default

Wow, vielen Dank für die Analyse hab die Stelle überarbeitet und spätestens nach einem Hard Refresh sollte der Fix bei dir sein. Über Feedback würde ich mich freuen!
__________________
My.JDownloader.org Web Interface | Android App | Browser Extensions [Feedback Thread]
Reply With Quote
  #5  
Old 04.04.2018, 12:48
loaderr loaderr is offline
Super Loader
 
Join Date: Aug 2016
Posts: 25
Default

Werd ich machen - nur aktuell ist meine Download-Queue absolut leer...

Danke dir auch für die ganze Arbeit mit (my)JDownloader.
Reply With Quote
  #6  
Old 05.04.2018, 19:17
loaderr loaderr is offline
Super Loader
 
Join Date: Aug 2016
Posts: 25
Default

So, habe gerade mal die Downloadliste mit allem gefüllt was gerade so an links rumflog.

Unter Firefox und Chrome sind die Dialoge (Bestätigung, Captcha lösen) an der richtigen Stelle.

Das Kontextmenü funktioniert bei Firefox auch für alle Einträge. Bei Chrome geht es nur für die ersten ca. 15-20 Einträge. Wenn ich für weiter unter liegende Einträge das Kontextmenü versuche zu öffnen geht das Kontextmenü nicht mehr. Teilweise geht es dann auch nicht mehr für die Anderen vorher funktionierenden Einträge.
Im Debugger habe ich gesehen, dass in diesem Fall für das "gwt-PopupPanel" dann plötzlich bei Style die Eigenschaft "display: none;" gesetzt wurde (wahrscheinlich weil das Kontextmenü außerhalb des sichtbaren Bereiches auftauchte). Diese Eigenschaft bleib dann auch bestehen, bis sie durch Zufall von irgend einem anderen Aufruf mal gelöscht wurde.

Egal, korrekt funktionierende Dialoge sind schon mal sehr viel besser als vorher. Das Kontextmenü hat auch vorher nicht richtig funktioniert, ob genau so oder anders kann ich nicht mehr sagen.
Reply With Quote
  #7  
Old 06.04.2018, 10:29
mrc's Avatar
mrc mrc is offline
Guardian of the Droids
 
Join Date: Jan 2013
Location: Germany
Posts: 288
Default

Danke für die Hinweise! Ich werde versuchen das nachzustellen und ggf. zu beheben. Was genau meinst du mit Kontextmenü hat "nicht richtig funktioniert"? Vllt. kann ich auch das nachstellen und beheben. Am effektivsten wäre auch hier wieder TeamViewer
__________________
My.JDownloader.org Web Interface | Android App | Browser Extensions [Feedback Thread]
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT +2. The time now is 16:41.
Provided By AppWork GmbH | Privacy | Imprint
Parts of the Design are used from Kirsch designed by Andrew & Austin
Powered by vBulletin® Version 3.8.10 Beta 1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.