Bedingtes Anzeigen von Links
Alex
- html
0 Tobias Unger0 wahsaga0 Der Martin
0 Cybaer0 Tobias Unger0 Cybaer
Hallo zusammen!
Kennt jemand eine Möglichkeit, entweder direkt in HTML oder in javascript, um einen Link nur anzuzeigen wenn er erreichbar ist?
Konkret: Ich habe eine Website die immer erreichbar ist aber rel. wenig webspace bietet. Wenn mein Webserver zuhause online ist, möchte ich gerne auf der regulären (immer erreichbaren) Homepage einen link zum Home-Webserver einblenden (wo z.B. Photos liegen). Sonst soll er nicht zu sehen sein.
Hi!
Kennt jemand eine Möglichkeit, entweder direkt in HTML oder in javascript, um einen Link nur anzuzeigen wenn er erreichbar ist?
Konkret: Ich habe eine Website die immer erreichbar ist aber rel. wenig webspace bietet. Wenn mein Webserver zuhause online ist, möchte ich gerne auf der regulären (immer erreichbaren) Homepage einen link zum Home-Webserver einblenden (wo z.B. Photos liegen). Sonst soll er nicht zu sehen sein.
Da gibt es meiner Ansicht nach 3 Möglichkeiten:
a) Dein Server zuhause meldet sich beim Webspace an und ab, d.h. er ruft beim Hoch- bzw. Herunterfahren ein Script auf dem Server im Netz auf das dann abspeichert ob dein Server zuhause erreichbar ist.
b) Du pingst deinen Server an und stellst damit fest, ob er gerade online ist.
c) Du versuchst es mit der Lösung, die gerade ebenfalls in diesem Forum diskutiert wird.
Ich würde wahrscheinlich Lösung a) nehmen.
In allen Fällen benötigst du eine serverseitige Scriptsprache im Webspace (der, der "immer" online ist).
Eine Lösung nur mit HTML und JavaScript fällt mir persönlich nicht ein.
Grüße aus Nürnberg,
Tobias
hi,
Eine Lösung nur mit HTML und JavaScript fällt mir persönlich nicht ein.
Man könnte ein externes Javascript vom Heimserver einbinden, welches die Links rausschreibt - Heimserver nicht verfügbar, externes Javascript wird nicht geladen, keine Links.
Dann müsste man nur dafür sorgen, dass dieses Javascript nicht gecached werden darf - sonst würde es ja ggf. erneut aus dem Cache benutzt, auch wenn der Heimserver nicht erreichbar ist.
Also Cachen strikt verbieten, oder in diesem Falle sogar den Holzhammer eines ständig wechselnden GET-Parameters an der Scriptadresse (bspw. aktueller Timestamp) anwenden.
gruß,
wahsaga
Hallo wahsaga,
Man könnte ein externes Javascript vom Heimserver einbinden, welches die Links rausschreibt - Heimserver nicht verfügbar, externes Javascript wird nicht geladen, keine Links.
das wäre natürlich eine Möglichkeit, aber ...
Nein, ich will jetzt nicht wieder darauf herumreiten, dass Javascript nicht immer zur Verfügung steht. ;-)
Sondern darauf, dass bei diesem Verfahren der Seitenaufbau _sehr_ lange dauern würde, wenn der Alternativserver mal nicht erreichbar ist. Nämlich so lange, bis der Browser des Besuchers das Laden des externen Javascripts mit einem Request Timeout für gescheitert erklärt.
Dann müsste man nur dafür sorgen, dass dieses Javascript nicht gecached werden darf [...]
Das kommt noch hinzu.
Ciao,
Martin
Hi,
Sondern darauf, dass bei diesem Verfahren der Seitenaufbau _sehr_ lange dauern würde, wenn der Alternativserver mal nicht erreichbar ist.
Dann lade ein Bild vom Homeserver und im onload-Event der Seite schaltest Du den Link frei. Ist der Server offline, dann kommt ein onerror-Event beim Bild-Element.
Gruß, Cybaer
Hi!
das wäre natürlich eine Möglichkeit, aber ...
Nein, ich will jetzt nicht wieder darauf herumreiten, dass Javascript nicht immer zur Verfügung steht. ;-)
Sondern darauf, dass bei diesem Verfahren der Seitenaufbau _sehr_ lange dauern würde, wenn der Alternativserver mal nicht erreichbar ist. Nämlich so lange, bis der Browser des Besuchers das Laden des externen Javascripts mit einem Request Timeout für gescheitert erklärt.
Ob diese Lösung optimal ist, darüber lässt sich streiten.
Zumindest das Problem mit dem Timeout könnte man doch dadurch umgehen, dass man das Script erst am Seitenende hinzufügt und es z.B. nur noch den Bereich, in dem die Links stehen sichtbar macht:
document.getElementById('linkbereich').style.visibility = 'visible';
(Oder auf eine andere Weise, dies ist nur eines der möglichen als Beispiel.)
Grüße aus Nürnberg,
Tobias
Hi,
Zumindest das Problem mit dem Timeout könnte man doch dadurch umgehen, dass man das Script erst am Seitenende hinzufügt
Oder erst im onLoad nachträglich lädt.
und es z.B. nur noch den Bereich, in dem die Links stehen sichtbar macht:
Ich fände am sinnvollsten, den Linkbereich als Text anzuzeigen, während der Prüfphase ein entsprechendes Icon zu nehmen, bei Nichterfolg ein anderes Icon und bei Erfolg ein weiteres, sowie Umwandlung des Textes in Links.
Gruß, Cybaer