如何通过JavaScript导航锚标记中的href

时间:2009-03-02 19:05:15

标签: javascript jquery

是否有一种简单的方法让JavaScript模仿用户点击页面上的锚标记?这意味着需要设置Referrer Url。仅设置document.location.href不会设置Referrer Url。

<script>
  $(document).ready(function () {
    $("a").click();
});
</script>

<a href="http://example.com">Go here</a>

这不起作用,因为链接没有Click()事件设置。

5 个答案:

答案 0 :(得分:14)

你可以这样做:

window.location = $("a").attr("href");

如果你想保留推荐人,你可以这样做:

var href = $('a').attr('href');
$('<form>').attr({action: href, method: 'GET'}).appendTo($('body')).submit();

这是hackish,但适用于所有浏览器。

答案 1 :(得分:2)

document.location.href = "#wanted_Location";

答案 2 :(得分:1)

也许这就是你要找的东西?

$(document).ready(function () {
  $("a").each(function(){
    if($(this).click()){
      document.location.href = $(this).attr("href");
    }
  });
});

答案 3 :(得分:1)

有一种更简单的方法来实现它,

HTML

<a href="https://getbootstrap.com/" id="fooLinkID">Bootstrap is life </a>

JavaScript

// Simulating click after 3 seconds
setTimeout(function(){
  document.getElementById('fooLinkID').click();
}, 3 * 1000);

使用普通的javascript来模拟点击。

您可以在jsFiddle上查看工作示例。

答案 4 :(得分:0)

好的,referer没有使用document.location设置(根据我的其他答案),可能与window.navigate(url)一起使用?如果这不起作用,可能会有以下情况,尽管它很丑陋 - 丑陋:

$(function() {
  $("a").each(function(){
    if($(this).click()){
      $('<form method="get" action="' + $(this).attr("href") + '"></form>').appendTo("body").submit();
      return false;
    }
  });
});