Frage zu Verlinkungen auf einer WEbseite

Peter3708 schrieb am 10.05.2016 um 16:25 Uhr

Ich benutze den Xtreme Web Designer 5. Ich weiß er ist alt, aber für meine Zwecke bisher bestens geeignet.

Nun möchte ich gerne einen Tipp, wie man folgende Aufgabe lösen kann:

Ich habe in meiner Webseite eine Reihe von Websites z.B. A1, A2, A3, A4, . . .

Jede dieser Sites besitzt einen oder mehrere Links zu einer anderen Reihe Unter-Sites, nennenwir diese Links z.B. b1, b2, b3, b4, b5 usw.

Diese Links zeigen auf die entsprechenden Unter-Sites B1, B2, B3, B4, B5, usw.

Aufgabe: Ist man auf einer dieser Unter-Sites B . . . gelandet, so kann man hier per entsprenden Links auf beliebig anderen Untersites B . . . hin und her springen. Und auf jeder dieser Untersites gibt es einen Link, nennen wir ihn mal "Zurück zur Ausgangs-Site A . . ."

Meine Lösungs-Idee wäre z.B.:

Betätigt man einen beliebigen Link auf einer Site A . . ., so wird die Adresse dieser Site A . . . in einen "Zwischenspeicher" geschrieben und gleichzeitig dem Link folgend zur entsprechenden Site B . . . gesprungen.

Erst wenn auf einer beliebigen Site B . . . der Link "Zurück zur Ausgangs-Site A . . ." betätigt wird, muss die Adresse aus dem Zwischenspeicher ausgelesen und auf die Ursprungsite A . . . gesprungen werden.

Diese meine Lösungs-Idee beschreibt natürlich nur den gewünschten Ablauf. Ob der dazu führende Vorgang irgendwie im Xtreme Web Designer 5 verwirklichtn werden kann, muss ich eurer Hilfe anvertrauen.

Vielen Dank für jeden Tipp

Peter

Kommentare

BeRo schrieb am 10.05.2016 um 22:19 Uhr

Deine Lösungs-Idee ist genauso machbar.

Einzige Voraussetzung für das Funktionieren der weiter unten beschriebenen Lösung ist, dass der Besucher Deiner Site einen halbwegs modernen Browser benutzt.
In dem Fall funktioniert die Lösung sowohl auf Mobilgeräten, als auch auf Desktop Geräten.

2 kleine JavaScript Dateien musst Du anlegen.

  1. Ein JScript, das auf allen A-Seiten angelegt werden muss, mit dem die URL der zuletzt geöffneten A-Seite ermittelt- und in einer Variable gespeichert wird
  2. Eine JScript Funktion, die auf allen B-Seiten angelegt werden muss, die bei einem Aufruf (z. B. mit einem Link), die gespeicherte URL (Variable) der zuletzt geöffnete A-Seite benutzt, um die Seite erneut zu öffnen.

Das JScript 1 sieht so aus:

------------------------------------------
<script type="text/javascript">
//Speichern der Variable 'Quellpfad' mit der ID 'Pfad'
var Quellpfad  =  window.location.pathname;
localStorage.setItem('Pfad', Quellpfad);
</script>

-----------------------------------------

Wie schon gesagt, muss dieses Script (unverändert) auf allen A-Seiten angelegt werden. Am besten legst Du es im jeweiligen HTML Body der Seite an.

Das JScript 2, also die JS Funktion "Ziel()" gehört in den HTML Head jeder B-Seite:

----------------------------------------
<script type="text/javascript">
function Ziel() {

//Lesen der Variable 'Quellpfad' mit der ID 'Pfad'
var Zielpfad = localStorage.getItem('Pfad');
location.href=Zielpfad;
}
</script>

----------------------------------------

Um von einer beliebigen B-Seite nun wieder zurückzukommen auf die zuletzt geöffnete A-Seite, musst Du lediglich einen Link anlegen, der die oben beschriebene JS Funktion "Ziel()" aufruft.
Der Link kann beliebig angelegt werden, z. B. mit einem Button-, als Textlink-, als Link zu einer Grafik-, etc.

Der Link wird als JS Statement im Feld "Link auf Internet- oder E-Mail Adresse" eingetragen und zwar so:

---------------------------------------
javascript:Ziel()
--------------------------------------

Im Editor des WD11 sieht das so aus:

Mehr ist nicht zu tun

Viel Erfolg

Zuletzt geändert von BeRo am 10.05.2016, 22:19, 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... 🤓

Peter3708 schrieb am 11.05.2016 um 11:36 Uhr

Danke sehr für diesen sehr guten Tipp / Anleitung. Natürlich muss ich diese Anleitung erst einmal realisieren, um dann eine Erfolgsmeldung posten zu können. Aber das wird sicherlich klappen.

Nochmals vielen Dank

Peter

Peter3708 schrieb am 11.05.2016 um 17:22 Uhr

@ BeRo

Jetzt habe ich experimentiert und recherchiert und ich muss zugeben, dass ich mich mit JavaScript gar nicht, und mit der Einbindung in magix web design auch nicht auskenne.

Ich kann mir vorstellen, wenn ich hier noch einmal eine diesbezügliche Kochrezept-Anleitung bekäme, könnte dies auch für andere nichtprofessionelle Mitglieder sehr nützlich sein.

Ich frage mich z.B.,

1. schreibe ich den angegebenen Quelltext eines Scripts in einen Texteditor und wie speichere ich ihn ab und in welchen Ordner / Pfad?
2. Wie komme ich in den HTML Body bzw. in den HTML Head einer Site des magix web designers?
In deiner Anleitung heißt das ... eine JScript Funktion ... muss angelegt werden. Das ist die Frage.

3. Zu den Link Buttons:
Um den Rücksprung von einer Site B... zur ürsprünglichen Site A...  zu verlinken, ist gut beschrieben (Im Editor des WD11 in das Fenster "Webeigenschaften": javascript: Ziel() eintragen.
Wie sieht das jedoch für einen Link bei einem Sprung von A... nach B... aus? Da muss auf jeden Fall in das  Fenster "Webeigenschaften" die Adresse von B... eingegeben werden. Und sicherlich auch irgendwo der Eintrag des JavaScripts für den Quellpfad, und wie lautet dieser Eintrag genau?

Entschuldigung für diese laienhafte Nachfrage, ich hoffe trotzdem auf eine weitere Hilfe.

 

 

BeRo schrieb am 11.05.2016 um 19:01 Uhr

Zu Deiner Frage 1.

  • Du musst dazu keine separate Datei anlegen. Es genügt, wenn Du den Text des jeweils benötigten Scripts in meiner Antwort komplett markierst und dann die Tastenkombination "STRG + C" drückst. Damit kopierst Du das komplette Script in die Zwischenablage Deines PC.

Zu Frage 2.

  • Der WD5 hatte noch keine Möglichkeit, Scriptcode gezielt in die Head- oder Body Bereiche der Seiten- oder der Site zu bringen. Als Workaround kannst Du es mit der Platzhalterfunktion des WD5 versuchen.
    Dazu legst Du auf allen Seiten je einen kleinen Platzhalter (Rechteck) z. B. am Rand der Seiten an, den Du dann über die Web Einstellungen "Mit HTML Code ersetzen" ersetzt.
    In das zugehörige Eingabefeld fügst Du mit der Tastenkombination "STRG + V" das JScript (Inhalt der Zwischenablage) ein, das Du vorhin mit "STRG + C" kopiert hast.



    Alle A-Seiten bekommen so den oben gezeigten Code, mit dem die URL der jeweils geöffneten Seite gespeichert wird.

    Für die B-Seiten benutzt Du analog das in meinem letzten Kommentar gezeigte JScript 2.

[...] Wie sieht das jedoch für einen Link bei einem Sprung von A... nach B... aus? [...]

Da ist nichts zu beachten. Der Link von einer beliebigen A-Seite auf eine beliebige B-Seite kann ganz normal erfolgen, über einen bestehenden Button einer Navigationsleiste oder auf eine andere, beliebige Art.
Der JScript Code, den Du auf allen A-Seiten abgelegt hast, sorgt ohne Dein Zutun dafür, dass immer die URL der aktuell (zuletzt) geöffneten A-Seite in der Variable "Quellpfad" gespeichert wird.

Noch Fragen?

Viel Erfolg

Zuletzt geändert von BeRo am 11.05.2016, 19:01, 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... 🤓

Peter3708 schrieb am 12.05.2016 um 11:03 Uhr

Danke sehr, ich werde die gesamte sehr gut geschilderte Anleitung zunächst für einige Sites anwenden und ausprobieren. Wenn es dann klappt und ich keine weiteren Fragen habe, werde ich unseren Erfolg auch für andere Mitglieder kundtun.

Peter

Peter3708 schrieb am 15.05.2016 um 23:07 Uhr

Problem ist aufgetaucht:

1. Die JScripte in Platzhalter wurden akzeptiert, jedoch gab es Fehlermeldungen. Meine gesamten Dateien für die Webseite liegen in einem selben Ordner. Wegen der großen Datenmenge habe ich die Inhalte geteilt und alle meine Links sehen so aus: "./name" und auch "./name_2" usw.

Die JScripte versuchen jedoch den gesamten Pfad zu speichern und wieder zu benutzen.

In den Scripten müsste also, wenn das geht, etwas geändert werden. Doch das viel später ...

Ich habe dann, weil es nicht funktionierte, alle Platzhalterlinks gelöscht. Danach trat dann Problem Nr. 2 auf.

2. Alle schon vorher vorhandenen Links funktionieren nach wie vor. Ich kann auch einen neuen Linkbutton anlegen und einen Link eintragen. Jedoch anschließend funktioniert dieser Link nicht.
Ich habe es mit vielen verschiedenen Schaltflächen versucht und in verschiedenen Sites - eine neue Verlinkung ist nicht mehr möglich.

Ich finde auch keine Einstellmöglichkeit im Programm, die dieses Problem angehen könnte.

Ich habe dann auch noch den Extrem Web Designer 5 ganz neu installiert. Es ist bei dem Problem geblieben.

Gibt es da überhaupt eine Hilfe???

Gruß und Danke

BeRo schrieb am 16.05.2016 um 13:17 Uhr

[...] Gibt es da überhaupt eine Hilfe? [...]

Das wird schwierig, weil vermutlich keiner der potentiellen Tippgeber noch  den WD5 installiert hat. Ich hatte ihn z. B. nie auf dem PC, weil ich erst mit der Version 7 in das Thema eingestiegen bin...

Alle Versuche, Deine aufgezeigten Probleme lösen zu wollen, gleichen dann einem "Stochern im Nebel".

Wenn Du es finanziell möglich machen kannst, solltest Du Dir die derzeit aktuelle Version 11 premium zulegen, die Du hier schon für 56,- € als Vollversion bekommen kannst. Damit erledigen sich deine aktuellen Probleme nahezu automatisch

 

 

 

Zuletzt geändert von BeRo am 16.05.2016, 13:17, 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... 🤓

Peter3708 schrieb am 23.05.2016 um 13:16 Uhr

Habe jetzt lange herumgewuselt und den Web-Designer wieder original zum Laufen gebracht. Die Ursache meiner Probleme war ein menschliches Versagen meinerseits!

@ BeRo

Ich weiß nicht, ob es möglich ist die Zeile in den Java Scripten so zu ändern, dass die programminterne Linkadresse "./<name>_n.htm" der aktuellen Seite gespeichert und von einer anderen Seite wieder aufgerufen werden kann. Das wäre sehr schön.

Wenn das jedoch nicht geht, dann suche ich nach anderen Möglichkeiten und das ist dann auch nicht so schlimm. Wenn das so sein sollte, dann werde ich diesen Thread als gelöst beenden, warte aber ab, was du dazu sagen kannst.

Im Prinzip habe ich jedoch noch einiges durch deine Tipps dazugelernt (habe mich auch nun etwas mit Java beschäftigt, aber noch lange nicht genug!).

Übrigens lohnt es sich für mich nicht, die neueste Version von WD zu kaufen, weil ich damals den WD5 nur für ein einziges Projekt gekauft habe, dieses Projekt im Prinzip auch schon lange fertig ist und ich ab und zu nur noch einige kleine Erweiterungen und/oder Verbesserungen vornehmen möchte.
Das Projekt steht übrigens nicht im Internet, sondern es soll nur als Programm auf PCs unter dem Namen "Familienchronik" laufen.

 

BeRo schrieb am 24.05.2016 um 00:00 Uhr

[...] ob es möglich ist [...] dass die programminterne Linkadresse "./<name>_n.htm" der aktuellen Seite gespeichert und von einer anderen Seite wieder aufgerufen werden kann [...]

Wenn der interne Link real ist, dann wird er automatisch von dem Script erfasst und gespeichert.
Benötigst Du von dem erfassten Pfad (Link) nur ein bestimmtes Segment, dann kannst Du das mit einem JS Befehl extrahieren.

Beispiel:
Die gespeicherte A Seite liegt im Verzeichnis "Verzeichnisname" und sie hat den Namen "name_2.htm".
Der Pfad dahin sieht dann so aus: "./Verzeichnisname/name_2.htm".

Mit einer kleinen Anpassung des weiter unten beschriebenen JScript 1 ist es möglich, nur den relevanten Teil des Pfads zu extrahieren. Hier ist das der Seitenname "name_2.htm".
Manuell stellst Du dem extrahierten Namen jetzt noch den von Dir gewünschten Pfad voran, z. B. "./Verzeichnisname", dann sieht der gesamte Link so aus: "./Verzeichnisname/name_2.htm".

Das geänderte JScript 1 sieht so aus:

------------------------------------------
<script type="text/javascript">
//Speichern der Variable 'Quellpfad' mit der ID 'Pfad'
var pathArray  =  window.location.pathname.split( '/' );
var Quellpfad = './Verzeichnisname/' + pathArray[pathArray.length - 1];
localStorage.setItem('Pfad', Quellpfad);
alert ('Der gespeicherte Pfad ist  ' + '"' + Quellpfad + '"');
// Die Zeile dient als Testinfo. Im Realbetrieb bitte löschen!
</script>

------------------------------------------

Der im Script gelb markierte Entrag "./Verzeichnisname/" muss von Dir so geändert werden, dass er zusammen mit dem folgenden Dateinamen (hier repräsentiert durch "pathArray[pathArray.length - 1]") den gewünschten Link zu einer A-Seite ergibt.

Die letzte Zeile im o. a. Script dient nur der Anzeige des zusammengebauten Links. Damit kannst Du im Testbetrieb schnell kontrollieren, dass der gespeicherte Quellpfad Deinen Vorgaben entspricht.

Im Test (Vorschau) kann das so aussehen:

Wenn der Zusammenbau der Links zu den A-Seiten klappt, musst Du die Zeile entweder auskommentieren (2 Slashes "//" voranstellen) oder löschen!

Sollte Dein Problem so nicht zu lösen sein, müsstest Du detaillierter beschreiben, wie die Pfade zu den einzelnen Dateien (A und B) aussehen. Ich bin sicher, dass wir auch dazu eine Lösung finden.

Viel Erfolg

Zuletzt geändert von BeRo am 24.05.2016, 09:15, insgesamt 2-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... 🤓

Peter3708 schrieb am 26.05.2016 um 15:03 Uhr

@BeRo
... wieder sehr gut erklärt. Bevor ich aber jetzt lange rumprobiere, schreibe ich mal genau, wie mein "Web-Programm" auf der endgültigen CD aufgebaut ist, dann muss die letzte Version von JScript 1 noch eine kleine Änderung erfahren.
Das liegt aber daran, dass mein Programmaufbau nicht professionell ist, was wiederum auf meine Unerfahrenheit bezüglich Web vor Jahren noch viel größer war als heute.
Nun möchte ich es aber nicht mehr ändern, weil das zu viel Arbeit machen würde. Und es läuft gut so.
Hier also einen ganz kleinen Auszug aus dem Direktory der Familienchronik-CD und dann schon mal meine Vorstellung von der Änderung im JScript, die jedoch geprüft und bestätigt oder verbessert werden müsste.

CD-Inhalt: gesamte Dateien stehen ohne übergeordnetem Ordner direkt auf der CD

Familienchronik (Start-Datei)
name1
name1_2
name1_3
...
name2
...
name3
....
name-x

D.h. jeder Link im WD5 ist also unter "Internetadresse" z.B. wie folgt eingetragen: "./name3_7.htm".
Und das ist ohne Ausnahme bei allen Links so.

Demnach nehme ich an, dass folgende Zeile im JScript 1:
var Quellpfad = './Verzeichnisname/' + pathArray[pathArray.length - 1];
folgendermaßen geändert werden müsste:
var Quellpfad = './' + pathArray[pathArray.length - 1];
ich bitte dies zu prüfen und evtl. zu bestätigen oder zu verbessern.

Danke, danke

BeRo schrieb am 26.05.2016 um 17:39 Uhr

dass folgende Zeile im JScript 1: [...] folgendermaßen geändert werden müsste:
var Quellpfad = './' + pathArray[pathArray.length - 1];
[...]

Das sieht gut aus!
Probier's einfach mal damit.

Viel Erfolg

Zuletzt geändert von BeRo am 26.05.2016, 17:39, 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... 🤓