Antwort an „Rolf B“ verfassen

problematische Seite

Hallo borisbaer,

du kannst die Scripte zu Beginn der Seite laden, klar. Typischerweise hat man dann einen Eventhandler für ein load oder DOMContentLoaded Event, um zu wissen, wann das DOM zu Schandtaten bereit ist.

Mit "Außenbereich" meine ich nicht den Ort, wo das Script liegt, sondern worauf es wirkt. Du hast ja Seitenteile, die beim Subpage-Wechsel unverändert bleiben (der unveränderliche Rahmen) und andere, die beim Subpage-Wechsel nachgeladen werden (der Innenteil des Rahmens).

Dieses Laden erfolgt JavaScript-getrieben. Dieses Javascript lädt das gewünschte HTML (per Ajax), und bringt es ins DOM. Das ist Zeile 55-69 im main.js, wenn ich deiner "problematischen Seite" folge. Da hast Du einen Success-Handler, und der bringt das neue HTML ins DOM.

		$.ajax({

			url: "subpages/" + href,

			error: function() {

				alert( "Seite nicht gefunden." );

			},

			success: function( html ) {

				$( ".append" ).html( html );

			}

		});

(ich hasse Code, wo jede 2. Zeile eine Leerzeile ist...)

Jedenfalls musst Du nach diesem .html Aufruf, der das neue HTML zuweist, die nötigen Events für dieses HTML registrieren. Wie Du das steuerst, musst Du aus deinem Code selbst ausbaldowern. Du musst dabei nur aufpassen, dass Du keine Handler neu registriert, deren Element außerhalb dieses <div class="append"> liegt. Nicht einfach, man muss dafür sehr genau überlegen, was man tut, aber machbar. Good Luck 😀

Rolf

--
sumpsi - posui - obstruxi
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen