2012-01-11 13 views
190

前のWebページにリンクする<a>タグを作成する最も簡単な方法は何ですか?基本的にシミュレートされた戻るボタンですが、実際のハイパーリンクです。クライアント側の技術のみ、してください。HTMLバックリンクを作成するには?

編集
あなたは通常、静的ハイパーリンクのように、ホバリング時に上をクリックしようとしているページのURLを示すという利点を持って解決策を探しています。私は、ハイパーリンク上でホバリングしたときに、ユーザにhistory.go(-1)を見させるのではなく、私がこれまでに見つけた最高です:

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

document.referrer信頼性はありますか?クロスブラウザは安全ですか?私はより良い答えを受け入れることを嬉しく思うでしょう。

+2

JavaScriptが(私のような)いくつかのクライアントだけで(デフォルトでは)それを無効にし、クライアント側の技術です。それがクライアントの力です! :Dしかし、ええ、前のページの内容をHTMLで判断する方法はありません。 – animuson

答えて

89

このソリューションは、表示の利点を持っていますホバー上のリンク先ページのURL。ほとんどのブラウザはhistory.go(-1)またはそれに類するものの代わりに

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

これはまた、リンク上で 'target =" _ blank "属性でオープンされた参照ページが' history.go(-1) 'でない場合もカバーするという利点があります。 –

+4

このソリューションは#の後のリンク部分を失い、 'javascript:history.back()'が正しく動作します。 – Liviu

+11

このソリューションの欠点は、複数のページに戻ることができなくなることです。例。ページa、b、c、dにナビゲートする - c、d、c、d、c、dを繰り返し押して戻るボタンを押す。これを.historyと比較する。back()a、b、c、d戻るボタンを繰り返し押します。d、c、b、a – orangesherbert

23

あなたはjavascriptを

<A HREF="javascript:history.go(-1)"> 

を参照してくださいhttp://www.javascriptkit.com/javatutors/crossmenu2.shtml

のURLを表示し、続く

としてのonmouseoverに自身のA要素を送信するために JavaScript Back Button

EDIT

参照してみてください

function showtext(thetext) { 
 
    if (!document.getElementById) 
 
    return 
 
    textcontainerobj = document.getElementById("tabledescription") 
 
    browserdetect = textcontainerobj.filters ? "ie" : typeof textcontainerobj.style.MozOpacity == "string" ? "mozilla" : "" 
 
    instantset(baseopacity) 
 
    document.getElementById("tabledescription").innerHTML = thetext.href 
 
    highlighting = setInterval("gradualfade(textcontainerobj)", 50) 
 
}
<a href="http://www.javascriptkit.com" onMouseover="showtext(this)" onMouseout="hidetext()">JavaScript Kit</a>

チェックjsfiddle

+0

あなたは最後の編集を説明できますか?私はちょうどそれがほとんどのブラウザの一番下に示すような通常のリンクをしたい。 – paislee

+0

すべてのブラウザがすべてのことを示しているので、何もする必要はありませんが、自分のdivに表示したい場合は、ページの任意の場所にdiv 'tabledescription'を指定して、アンカータグの上にマウスのリンクを表示します –

26

最も簡単な方法は、これを試してみてくださいhistory.go(-1);

を使用することです:

<a href="#" onclick="history.go(-1)">Go Back</a>

5

バックリンクこの

<a href="javascript:history.go(-1)"> Go Back </a> 
14

を試みるユーザーは、ほとんどのブラウザで利用可能な[戻る]ボタンをクリックしたかのように、逆方向に1ページをブラウザを移動リンクです。戻るリンクはJavaScriptを使用しています。あなたのブラウザがJavaScriptをサポートしていればそれを返します。また、バックリンクに必要なオブジェクトをwindow.historyに対応している場合は、ブラウザを1ページ分戻します。

簡単な方法は

<a href="#" onClick="history.go(-1)">Go Back</a> 

ORです:... [戻る]ボタンは通常、非常にきれいで十分で、一般的にバックリンクを話すことは必要ありません

function goBack() { 
 
    window.history.back() 
 
}
<a href="#" onclick="goBack()" />Go Back</a>

と通常ますあなたのサイトの前のページに簡単にリンクすることもできます。ただし、いくつかの「前の」ページの1つに戻るリンクを提供したい場合があります。それはバックリンクが便利な場所です。だから私は、あなたがより高度な方法で行いたい場合は、チュートリアルの下にあなたを参照してください。

http://www.htmlcodetutorial.com/linking/linking_famsupp_108.html

+1

最も投票されたソリューションとは異なり、これはユーザーが持っていたスクロール位置を維持します。 – Ketri

+0

@Ketriはこの声明のサポートを提供できますか?それらは同じでなければなりません:https://www.w3schools.com/jsref/met_his_back.asp – FarO

361

、別の方法:

<a href="javascript:history.back()">Go Back</a>

+5

ボタンの場合: '' – Leo

+0

このアプローチの欠点は、「ホバーを参照してURLを参照する」、右クリック - >コピーリンクなどの標準的なブラウザ機能が壊れてしまうことです。 –

0

またに戻ってどこかに実際に存在している場合にのみ、リンクを表示するようにdocument.write()と一緒history.back()を使用することができます。

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

'document.write'はページのすべてを上書きします。 – jpaugh

+0

このスクリプトは、ページがまだ読み込まれている間に実行する必要があります。 –

2
<a href="#" onclick="history.back();">Back</a> 
4

このソリューションは、あなたの両方の長所を与える

  • ユーザーはリンク上にカーソルを置くと、URLが表示されます
  • ユーザーが壊れてしまうことはありませんバックスタック

詳細については、以下のコードのコメントを参照してください。前のページにブラウザをリンクに

var element = document.getElementById('back-link'); 
 

 
// Provide a standard href to facilitate standard browser features such as 
 
// - Hover to see link 
 
// - Right click and copy link 
 
// - Right click and open in new tab 
 
element.setAttribute('href', document.referrer); 
 

 
// We can't let the browser use the above href for navigation. If it does, 
 
// the browser will think that it is a regular link, and place the current 
 
// page on the browser history, so that if the user clicks "back" again, 
 
// it'll actually return to this page. We need to perform a native back to 
 
// integrate properly into the browser's history behavior 
 
element.onclick = function() { 
 
    history.back(); 
 
}
<a id="back-link">back</a>

2

最も簡単な方法。

<a href="javascript:history.back()">Back</a> 
関連する問題