简体   繁体   中英

How to navigate href in anchor tag via JavaScript

Is there an easy way to have JavaScript mimic a User clicking an anchor tag on a page? That means the Referrer Url needs to be set. Just setting the document.location.href doesn't set the Referrer Url.

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

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

This doesn't work because there isn't a Click() event setup for the link.

You could do:

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

If you want to keep the referrer, you could do this:

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

It is hackish, but works in all browsers.

document.location.href = "#wanted_Location";

There is a simpler way to achieve it,

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);

Using plain javascript to simulate a click.

You can check working example here on jsFiddle .

Maybe something like this is what you're looking for?

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

Okay, referer doesn't get set using document.location (as per my other answer), might work with window.navigate(url)? If that doesn't work the following might, though it's quite - ehrm - ugly:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM