Verlinkung auf PopUp-Ebenen in WD 16 premium - Bug?

marboe schrieb am 05.01.2019 um 10:12 Uhr

Liebe Community, (oder lieber: hallo ihr Cracks 😁)
ich wollte bei einem neuerlichen Release einer umfangreichen Website alles richtig machen, und kam auf die glorreiche Idee, alle Videos erst nach dem Seitenabruf durch einen Klick laden lassen zu wollen. In der Hoffnung, dass die Ladezeit dann erheblich besser wird weil man ja nicht mehr von YouTube abhängig wäre ...

Soweit meine Ambitionen.
Realisieren wollte ich dies durch die immer guten Tipps von BeRo; so zB hier.
Das sollte aber leider ein Unterfangen von mehreren Tagen werden, bis ich den Fehler gefunden hatte.

Was war passiert?
Nun, ich habe einen Dummylink in MouseOff zu jeder PopUp-Ebene erstellt und dort meine Iframes für die Videos geparkt. Wie man das halt so macht. Die Skripte und der Einbau ist weitestgehend mit dem o.verlinkten Einbau identisch.
In der WD-Vorschau hat alles super geklappt. Auch in den von dort verlinkten installierten Browsern (in meinem Falle Firefox, Chrome und IE). Somit habe ich die Ebenennummer, die der Dummylink mit in der Vorschau gezeigt hat, auch schön verwendet. Und dann habe ich ""designed"" (ihr ahnt schon, von was ich spreche).

Als ich das Ganze dann veröffentlicht habe - nun, es klappte nix. Kein Video war zu starten. Nirgends.
Codekontrollen zu allen Tageszeiten (wegen der eigenen Konzentration) - erfolglos. Ich hatte wohl alles richtig gemacht *hust.

 

Wenn dies passiert, kommt man irgendwann auch auf die Idee, die Dummylinks neu zu testen. Also wieder rübergeschoben; Vorschau angeschmissen ... alles richtig.
Der Zufall wollte es, dass ein Dummylink noch sichtbar war, als ich die Seite erneut veröffentlichte.
Die Zahl, die bei xr_cpu steht, war plötzlich eine völlig andere.
Genauer:
in WD-Vorschau 88 wurde zu veröffentlicht: 331
Variante 1: Nr. 104 wurde zu veröffentlicht 347
Variante 2: Nr. 96 wurde zu 339

Bäm. Geändert. Veröffentlicht. Alles funktioniert. Sowohl auf Desktop, Tablet wie auch Handy in allen mir zu Verfügung stehenden Browsern.

Fazit: mit dem neuen WD kann man sich wohl nicht auf die PopUp-Ebenen-Nummerierung verlassen, die man in der Vorschau angezeigt bekommt, sondern muss erst veröffentlichen.
Kann das bitte jemand bestätigen, bevor ich da große Wellen schlage? 😬

Natürlich nutze ich die neueste Version, die Website ist sehr groß und entsprechend viele Ebenen und Fixierungen und Spielereien sind drin; aber eigentlich nur getestete Skripte (so dass ich das wohl ausschliessen könnte).
Ich bin gespannt.

Oder habt ihr das gar schon immer so gemacht und nur ich Depp hab immer die Zahl aus der Vorschau genommen?? Das kann ich mir eigentlich nicht vorstellen. Dafür habe ich schon zu viele große, wirklich große Projekte realisiert.

Gruß Marboe

Kommentare

marboe schrieb am 05.01.2019 um 10:22 Uhr

Die Beweise

Es funktioniert nun diese Seite in meinen Tests wunderbar.

Noch nicht korrigiert ist folgendes:

Dummy, sichtbar auf PopUp-Ebene (lock)

 

Vorschau genau dieser Seite:
Es wird die Ebene 70 angezeigt.

 

Veröffentlicht zeigt es sich so:


Und live gibt es das Ganze auch (funktioniert aber nicht weil noch nicht korrigiert, 5.1.19)
Natürlich werde ich das die nächsten Tage ausbessern.

BeRo schrieb am 05.01.2019 um 16:34 Uhr

[...] ich Depp hab immer die Zahl aus der Vorschau genommen [...]

In DIE Reihe der "Deppen" stelle ich mich freiwillig... 😍

Will sagen, dass ich die Indexwerte der popup Ebenen ebenfalls immer schon aus der Vorschau übernommen habe. Bisher sind dabei keinerlei Probleme aufgetreten, auch dann nicht, wenn parallel zu den Desktop Varianten noch mobile Varianten dazu kamen.

Allerdings habe ich in dem Zusammenhang nie umfangreiche Projekte "auf dem Tisch" gehabt. Es waren bisher nur Übungsprojekte mit wenigen Seiten und max. 12 Ebenen...

Dass bei komplexen, großen Projekten Probleme bei der Indexierung auftreten können, ist denkbar, weil einige der JS Funktionen auch zur Laufzeit aktiv sind. Dabei werden ggf. auch Indexwerte verändert.
Das Ergebnis hast Du kennen gelernt. 😝

Ob das nun unbedingt ein Bug ist, sei dahingestellt. Ärgerlich ist es in jedem Fall...

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

marboe schrieb am 05.01.2019 um 17:27 Uhr

Ein bisschen erleichtert bin ich ob deiner Antwort jetzt aber schon ...

Du ahnst gar nicht, was ich, wie oft erstmal kontrolliert habe (von Platzhaltern, jeden Codeschnippselbuchstaben, und erst recht jedes Hochkommata - du erinnerst dich? 🙈🤓)
Von der Zeit mal ganz abgesehen, die Richtige Einbettung von YouTube-Videos überhaupt erst mal hinzukriegen .. Na ja. Fehler ist gefunden.

Möge es auch euch eine Hilfe sein. Das Wort "Bug" ist sicher hier falsch benutzt. Nennen wir es eine Änderung zu Vorhergewesenem; denn in gleichen Projekten mit anderen Versionen habe ich immer der ermittelten Nummer aus der Vorschau vertraut. Und es hat ja immer funktioniert.
Übrigens benötigt man für YouTube - Videos den Embed-Code; ein anderer funktioniert nicht zuverlässig.
Ich erfreue mich jetzt an einem sagenhaft schnellen Seitenaufruf und bin heilfroh, den Fehler gefunden zu haben. Zwar nur aus Zufall, aber immerhin.
VG, Marboe

 

P.S.: kennts du eigentlich einen Tipp, @BeRo, wie man erreicht, dass die gezeigten PopUps mit Videos auch unter fixierten Objekten bleiben und nicht vorlaut in den Vordergrund wollen beim Scrollen? (hier nochmal der Link) Das passiert grundsätzlich bei PopUps; nicht nur wenn sie mit einem Video gekoppelt sind.

BeRo schrieb am 06.01.2019 um 18:45 Uhr

[...] wie man erreicht, dass die gezeigten PopUps mit Videos auch unter fixierten Objekten bleiben [...]

Bei der Umsetzung des Effekts haben die Entwickler recht "großzügig" gearbeitet. 🤓

Wenn Du Objekte (z. B. eine Header Grafik) mit der Funktion "Fixiert" auf die Seite pinnst, gibt es i. d. R. keine Probleme beim darunter scrollen des Inhalts einer popup Ebene. Vorausgesetzt, dass die Objekte in der Seiten- & Ebenen-Galerie die richtige (Hierarchie) Anordnung haben.
Anders sieht es aus, wenn Du die Funktion "Oben fixiert" benutzt. Die mit der Funktion manipulierten Objekte werden beim Export/Upload der HTML Datei im HTML Code so positioniert, dass sie in der Hierarchie unterhalb der Objekte aus popup Ebenen stehen. Den damit erzeugten Effekt kennst Du. 😝

Abhilfe:

  • Entweder benutzt Du die korrekt arbeitende Funktion "Fixiert", was bei Deiner Site nicht sehr sinnvoll wäre.

    Oder
     
  • Du änderst nach dem Export/Upload den HTML Code der Seite(n)
    Wenn Du nicht große Teile des Codes ändern willst, z. B. indem Du einzelne DIV Boxen innerhalb der Seite verschiebst, bleibt als einfacherer Workaround das Setzen eines "z-index" Wert´s für das/die Objekt(e) aus den popup Ebenen.

im o. a. Beispiel enthält die popup Ebene ein Bild und einen Platzhalter.
Im HTML Code der Seite (hier "index.htm") findest Du das Bild in der DIV Box für die popup Ebene.

Im CSS Teil ("Style=") des DIV Tag, hängst Du die Anweisung "z-index: -1;" an, wie oben im Screenshot gezeigt.
Natürlich muss das auch im Bereich für die Varianten nach gleichem Muster erfolgen...

Das ist zwar mit ein bisschen "Bastelarbeit" verbunden, aber IMHO die derzeit einzige Möglichkeit, bis die Entwickler das repariert haben, wen es denn überhaupt zur Kenntnis genommen wird. 😋

Probier´s mal.
Hier kannst Du die online Demo sehen und hier die dazu passende Projektdatei herunterladen.

Zuletzt geändert von BeRo am 06.01.2019, 18:58, insgesamt 1-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

marboe schrieb am 06.01.2019 um 19:14 Uhr

Das ist zwar mit ein bisschen "Bastelarbeit" verbunden

Ah, vielen Dank!!
Das hält sich in Grenzen; zumindest bei den Seiten, die nicht jede Woche geändert werden. Und das sind die meisten.

In der Tat habe ich sehr viel mit "oben fixieren" gearbeitet. Da bleibt wohl nur dein gezeigter Weg.Aber das ist nicht sooo viel Arbeit wie ich befürchtet habe 😅

die derzeit einzige Möglichkeit, bis die Entwickler das repariert haben, wen es denn überhaupt zur Kenntnis genommen wird. 😋

Da sollte man (ich?) vielleicht mal nachhelfen. Mir ist das schon öfter aufgestoßen. Zumal es ja auch noch die Kodierungsprobleme bei den Foto-PopUps gibt. Nun ja. Mal schauen 😉 Dieses Phänomen gilt ja auch für Slideshows, jegliche Videowidgets und auch sonstige selbsterstellte PopUps mit "Schliessen-Funktion".

Vielen Dank auf jeden Fall für die wiederholt kompetente Hilfe. Du bist einfach spitze!


Die oben im grundsätzlichen Beitrag gezeigten falschen Ebenen wurden heute korrigiert. Man kann den "Fehler" also nur noch in meinen gezeigten Bildern sehen. Online funktioniert es nun, nachdem ich die - nach Veröffentlichung - ermittelten Ebenenwerte in die Datei eingebracht habe.
Dankbare Grüße Marboe

BeRo schrieb am 06.01.2019 um 22:32 Uhr

[...] Online funktioniert es nun, nachdem ich die - nach Veröffentlichung - ermittelten Ebenenwerte in die Datei eingebracht habe. [...]

Die Indexwerte der popup Ebenen sind ja schon länger und immer wieder ein Thema im Forum.

Dass es auch "ohne" geht, das habe ich schon Anfang letzten Jahres gesehen, als wichtige Info in den "Vorratsschrank" gelegt und... wieder vergessen. 😩

Aber jetzt:

Alle popup Ebenen können mit einem Namen ausgestattet werden, der für alle weiteren Aktionen als ID benutzt werden kann. Der so vergebene Name muss nicht mit dem Namen identisch sein, der einer Ebene in der Seiten- & Ebenen-Galerie (sichtbar) zugewiesen wird.

In der Demo aus meinem letzten Kommentar hat die popup Ebene in der Seiten- & Ebenen-Galerie den (sichtbaren) Namen "popup1". Für die weitere Verarbeitung/Steuerung der Ebene habe ich aber den Namen "puEbene1" benutzt, der intern mit einem kleinen JScript definiert wird (s. Screenshot)

So sieht das JScript aus, das im HTML Body eines Platzhalters angelegt werden muss, der in der popup Ebene liegt.

<script>
document.write('<div id="puEbene1"></div>');
var layername= "puEbene1";
</script>

Sind weitere (popup) Ebenen erforderlich, mus jede Ebene einen eigenen Platzhalter mit einem identischen JScript Code bekommen, der sich natürlich im definierten Namen unterscheiden muss. 🙃
Der Name könnte also "puEbene2", "puEbene3" etc. heißen.

Die u. a. JScript Funktion "openlayer()" gehört in den HTML Head der Seite (oder Site)

<script>
function openlayer() {
var layer = document.getElementById(layername).parentNode.parentNode.parentNode;
var layerm = document.getElementById
(layernamem).parentNode.parentNode.parentNode;
xr_v1(layer);
xr_v1(layerm);
}
</script>

Die o. a. Funktion kann mit einem Klick auf einen Button/Textlink o. ä . gestartet werden. Damit wird die im WD vorhandene Funktion "xr_v1()" gestartet und der definierte Ebenenname (hier "puEbene1" aus der Variable "layername") übergeben, der in der Variable "layer" zwischengespeichert wurde (siehe oben: var layer = document.getElementById(layername).
Die im WD fest verdrahtete Funktion "xr_v1()" öffnet dann die popup Ebene, der wir den Namen "puEbene1" gegeben haben und zwar völlig unabhängig davon, wo die Ebene in der Ebenenhierarchie liegt!

Damit sind automatisch alle Probleme gelöst, die bisher bei der Suche nach dem richtigen Indexwert für die Ebenen aufgetreten sind.
Die Anweisung "xr_cpu(x)" gehört dann ins Museum. 😊

Natürlich ist es mit der o. a. Methode auch einfach, eine bestimmte popup Ebene schon beim Start der Seite zu öffnen.

Das geht so:

<body onload = openlayer()>

Die Anweisung gehört in den HTML Body einer Seite und sie startet beim Öffnen der Seite die oben beschriebene JS Funktion "openlayer()", die ihrerseits die definierte popup Ebene öffnet.

Soll die popup Ebene mit einem Klick auf einen Button-, eine andere Grafik-, oder einen Textlink geöffnet werden, geht das so:

Also mit dem u. a. Javascript Aufruf

javascript: openlayer();

Jede mit der Methode geöffnete popup Ebene hat automatisch die "locked" Eigenschaft. Sie kann also nur mit einem JScript Befehl geschlossen werden (wie hier beschrieben) oder durch dass Öffnen einer anderen popup Ebene oder durch einen Neustart der Seite.

Die weiter oben beschriebene Funktion ist mit der passenden Erweiterung für eine mobile Variante in der Demo enthalten, die ich im vorigen Kommentar beschrieben habe.

Hier könnt ihr die komplette Projektdatei herunterladen, in der alle oben beschriebenen Scriptdateien enthalten sind.

Zuletzt geändert von BeRo am 07.01.2019, 12:44, insgesamt 3-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓