防止特定锚点向浏览器历史记录添加不相关的条目?

时间:2018-01-10 16:20:59

标签: javascript jquery html anchor browser-history

是否可以阻止选定的锚点添加到浏览器的历史记录中?

对于我现在正在处理的网站,当我尝试提示返回上一页时,这是一个特殊问题。通过这样做,锚点按照它们激活的顺序重复,并且我必须在返回上一页之前多次单击一次。

这是我目前正在使用的一些代码。有没有我可以实现的功能来实现这个结果?

<!-- Image with Anchor to Open Lightbox Window -->
<div class="container">
  <a href="#view">
    <div class="pic">
      <img src="https://URLTOPIC.jpg">
    </div>
  </a>
</div>

<!-- Lightbox Prompt with Anchor to Close Window -->
<div class="customlightbox lb-animate" id="view">
  <div class="customlightbox-imgwrap">
    <img class="imgsrc" id="customlightbox-img" src="">
  </div>
</div>
<div id="customlightbox-controls" class="lb-animate">
  <a id="close-customlightbox" class="lb-animate" href="#!"></a>
</div>

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

使用空锚时,例如用作按钮的<a id="close-customlightbox" class="lb-animate" href="#!"></a>,您可以通过这种方式设置href,以禁用锚事件<a id="close-customlightbox" class="lb-animate" href="javaScript:void(0);"></a>

您可以阅读有关javascript URI方案What does "javascript:void(0)" mean?

的更多信息

对于用于触发模型的链接,请避免将其添加到window.history对象的默认行为

document.querySelector('.trigger').addEventLister('click', function(e){
  e.preventDefault();
  //Do your stuff
});