2009-03-02 19 views
6

JavaScript'in bir sayfada bir çapa etiketini tıklattığını taklit etmesi için kolay bir yol var mı? Bu, Yönlendiren Url'nin ayarlanması gerektiği anlamına gelir. Document.location.href dosyasının ayarlanması Yönlendiren URL'yi ayarlamaz.JavaScript ile çapa etiketinde href'e nasıl gidilir

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

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

Bu, bağlantı için bir Click() olay ayarı olmadığından çalışmaz.

cevap

14

Sen yapabilirdi: Eğer yönlendirme tutmak istiyorsanız

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

, bunu yapabilirdi:

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

O hackish olduğunu, ancak tüm tarayıcılarda çalışır.

+0

Bunun, Yönlendiren URL'yi almak için çalıştığını sanmıyorum. Soruyu yansıtacak şekilde güncelledim. –

+0

Mm. Firefox'ta, sadece IE'de değil. Içine bakmak. –

+0

Sadece referre url tutmak istiyorsanız window.location.assign() kullanabilirsiniz, böylece kod window.location.assign olacaktır ("http: // localhost /"); – fedmich

1

Belki de bunun gibi bir şey, aradığınız şey nedir?

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

Yönlendirici Url ayarlanmadığı için bu işe yaramıyor. Soruyu güncelledim –

0

Tamam, yönlendiren window.navigate (url) ile işe yarayabilecek, (benim diğer Yanıt başına gibi) document.location kullanılarak ayarlanır almaz? ehrm - - oldukça olsa o, şu kudretini çalışmazsa çirkin:

$(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"; bir tıklama simüle etmek düz javascript kullanarak

0

bunu başarmak için daha basit bir yolu yoktur,

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

.

jsFiddle adresindeki çalışma örneğini buradan inceleyebilirsiniz.

İlgili konular