Javascript“返回”链接显示网址,如果有的话

时间:2013-02-05 08:25:52

标签: javascript url history

我想在我的网站内页中添加一个“返回”链接。 我可以简单使用的代码是:

<script>document.write('<a href="#" onClick="history.go(-1); return:false;"></a>')</script>

但是当有人在其上悬停时,它不会显示上一页的网址,如果没有上一页(例如在新标签中打开链接时),它也不会显示。所以我需要一个代码,只有在有上一页时才会显示,并且还会显示该网址。如果有人知道一个好方法,我感激不尽。

3 个答案:

答案 0 :(得分:1)

document.referrer是我的建议。

在该div中创建一个隐藏的div并放置链接。

<div id="NavBack">//hide it
    <a>link here</a>
</div>

在文档加载时,检查是否存在“Previous URL”之类的内容。如果是,那么显示#NavBack,其链接可以导航回来或只是隐藏它。请参阅this

我已用代码补丁更新了答案,为您提供了提示。

<div id="NavBack" style="display:none;">
    <a id='test'>link here</a>
</div>
<script type="text/javascript">
if(document.referrer!=''){
    var a = document.getElementById("test");
    a.href=document.referrer;
    document.getElementById("NavBack").style.display='block';
}
</script>

我使用了上面的代码,它运行得很好。但是,让我明确指出这不是标准方式,这只是为了让你想到我想告诉你的想法。请使用jquery而不是javascript,不要在项目中提供内联CSS。

答案 1 :(得分:0)

您可以使用history object as describe at the MDN

var h = window.history;
hSize = h.length; // is there any history
h.back();

同时检查browser support for these methods

答案 2 :(得分:0)

您必须使用window.history.length检查是否有历史记录条目。如果大于零,则插入链接。

另见:

https://developer.mozilla.org/en-US/docs/DOM/window.history

https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history