我想在我的网站内页中添加一个“返回”链接。 我可以简单使用的代码是:
<script>document.write('<a href="#" onClick="history.go(-1); return:false;"></a>')</script>
但是当有人在其上悬停时,它不会显示上一页的网址,如果没有上一页(例如在新标签中打开链接时),它也不会显示。所以我需要一个代码,只有在有上一页时才会显示,并且还会显示该网址。如果有人知道一个好方法,我感激不尽。
答案 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();
答案 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