384 Stimmen

Wie erstellt man einen HTML-Backlink?

Was ist der einfachste Weg, eine <a> Tag, das auf die vorherige Webseite verweist? Im Grunde eine simulierte Zurück-Schaltfläche, aber ein echter Hyperlink. Bitte nur Client-seitige Technologien.

bearbeiten
Ich suche nach Lösungen, die den Vorteil haben, dass sie die URL der Seite anzeigen, auf die man klicken will, wenn man den Mauszeiger darüber bewegt, wie ein normaler, statischer Hyperlink. Ich möchte nicht, dass der Benutzer auf history.go(-1) wenn Sie den Mauszeiger über einen Hyperlink bewegen. Das Beste, was ich bis jetzt gefunden habe, ist:

<script>
  document.write('<a href="' + document.referrer + '">Go Back</a>');
</script>

Ist document.referrer zuverlässig? Browserübergreifend sicher? Ich bin gerne bereit, eine bessere Antwort zu akzeptieren.

1voto

Leonid Vasilev Punkte 10814

Sie können auch Folgendes verwenden history.back() neben document.write() um den Link nur dann anzuzeigen, wenn es tatsächlich einen Ort gibt, zu dem man zurückgehen kann:

<script>
  if (history.length > 1) {
    document.write('<a href="javascript:history.back()">Go back</a>');
  }
</script>

1voto

Suman Deol Punkte 131

Ich habe ein window.history verwendet und ein false zurückgegeben, so dass die href nicht vom Browser navigiert wird (das Standardverhalten).

<a href="www.web.com" onclick="window.history.go(-1); return false;"> Link </a>

0voto

Chris Gunawardena Punkte 5728

history.go(-1) funktioniert nicht, wenn Sie in der 2. Domäne herumklicken oder wenn der Referrer leer ist.

Wir müssen also den historyCount bei der Ankunft in diesem Bereich speichern und die Anzahl der Navigationen auf dieser Seite minus 1 zurückgehen.

// if referrer is different from this site
if (!document.referrer.includes(window.location.host)) {
  // store current history length
  localStorage.setItem('historyLength', `${history.length}`);
}

// Return to stored referrer on logo click
document.querySelector('header .logo').addEventListener('click', 
  () =>
   history.go(Number(localStorage.getItem('historyLength')) - history.length -1)
);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X