info@a-coding-project.de

Links ein- und ausschalten

Bei vielen JavaScript-basierten Handlungen auf einer Homepage ist es nachteilhaft, wenn während der Handlung ein Link betätigt wird (z.B. weil die Handlung dann wieder von forn ausgelöst wird). Im folgenden wird ein kleines Script beschrieben, mit dem Sie die gesamten Links einer Seite ein- und ausschalten können.

Prinzip

Das Prinzip ist recht einfach: Für des Ausschaltens werden einfach alle Links auf der Seite mit einer nichts-auslösenden JavaScript-Funktion (void()) als Ziel (HREF) belegt, sowie die TARGETs als leer (eigene Seite) definiert. Die zuvor vorhandenen Werte werden gespeichert.
Beim Einschalten werden die gespeicherten Werte einfach den Links wieder zu geordnet und sie somit wieder 'aktiviert'.

Ausschlaten

Voraussetzung für das Ausschalten ist, dass die Eigenschaften der Links für das spätere Einschalten gespeichert werden. Dazu werden zwei Arrays [Zeile 5 und 6] erstellt in welche für jeden Link die HREF- und TARGET-Angaben gespeichert werden [Zeile 18]. Sind die Daten gespeichert, wird der Link mit den neuen Daten belegt [Zeile 13 und 14]. Beispiel:

//Einstellungen fuer Disabled Link
var DisabledLinkHref = 'javascript:void(0)';
var DisabledLinkTarget = '';

var LinkArray = new Array();
var TargetArray = new Array();
function DisableLinks()
{
 for(i=0;i<document.links.length;i++)
 {
  a = document.links[i].href;
  b = document.links[i].target;
  LinkArray[i] = a;
  TargetArray[i] = b;
  document.links[i].href = DisabledLinkHref;
  document.links[i].target = DisabledLinkTarget;
 }

Einschalten

Beim Einschalten werden die gespeicherten Arrays mit den Daten der Links ausgelesen und den jeweiligen Links wieder zu geordnet. Beispiel:

function EnableLinks()
{
 for(i=0;i<LinkArray.length;i++)
 {
  document.links[i].href = LinkArray[i];
  document.links[i].target = TargetArray[i];
 }

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant