2009-03-02 17 views
6

Czy istnieje prosty sposób na to, aby JavaScript naśladował Użytkownika klikając znacznik zakotwiczenia na stronie? Oznacza to, że należy ustawić URL strony odsyłającej. Po prostu ustawienie pliku document.location.href nie ustawia adresu URL strony odsyłającej.Jak nawigować w href w tagu kotwicy przez JavaScript

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

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

To nie działa, ponieważ nie ma konfiguracji zdarzenia Click() dla łącza.

Odpowiedz

14

Można zrobić:

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

Jeśli chcesz zachować odnośnika zwrotnego, można to zrobić:

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

Jest hackish, ale działa we wszystkich przeglądarkach.

+0

Nie sądzę, że to działa, aby uzyskać adres URL Referrer. Zaktualizowałem pytanie, aby to odzwierciedlić. –

+0

Mm. Robi to w Firefoksie, nie tylko w IE. Patrząc w to. –

+0

Możesz po prostu użyć window.location.assign(), jeśli chcesz zachować adres URL strony odsyłającej, więc kod będzie wówczas window.location.assign ("http: // localhost /"); – fedmich

1

Może czegoś takiego właśnie szukasz?

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

To nie działa, ponieważ URL strony odsyłającej nie jest ustawiony. Zaktualizowałem pytanie –

0

Dobra, referer nie dostać ustawić za pomocą document.location (według innej mojej odpowiedzi), może pracować z window.navigate (URL)? Jeśli to nie zadziała następujący potęgę, choć to zupełnie - ehrm - brzydki:

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

document.location.href = "#wanted_Location";

0

Jest prostszy sposób, żeby to osiągnąć,

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

Korzystanie zwykły javascript, aby symulować kliknięcie.

Możesz sprawdzić przykład pracy tutaj na jsFiddle.

Powiązane problemy