2009-03-02 38 views
6

Có cách nào dễ dàng để JavaScript bắt chước Người dùng nhấp vào thẻ liên kết trên một trang không? Điều đó có nghĩa là Url liên kết giới thiệu cần phải được đặt. Chỉ cần đặt document.location.href không đặt Url liên kết giới thiệu.Cách điều hướng href trong thẻ neo qua JavaScript

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

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

Điều này không hiệu quả vì không có thiết lập sự kiện Click() cho liên kết.

Trả lời

14

Bạn có thể làm:

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

Nếu bạn muốn giữ cho người giới thiệu, bạn có thể làm điều này:

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

Đó là hackish, nhưng hoạt động trong tất cả các trình duyệt.

+0

Tôi không nghĩ rằng tính năng này hoạt động để nhận được Url liên kết giới thiệu. Tôi đã cập nhật câu hỏi để phản ánh điều này. –

+0

Mm. Nó có trên Firefox, không phải trên IE. Nhìn vào nó. –

+0

Bạn chỉ có thể sử dụng window.location.assign() nếu bạn muốn giữ liên kết giới thiệu, vì vậy mã sẽ là window.location.assign ("http: // localhost /"); – fedmich

1

Có thể một cái gì đó như thế này là những gì bạn đang tìm kiếm?

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

Điều này không hiệu quả vì Url liên kết giới thiệu không được đặt. Tôi đã cập nhật câu hỏi –

0

Được rồi, người giới thiệu không được đặt bằng cách sử dụng document.location (theo câu trả lời khác của tôi), có thể hoạt động với window.navigate (url)? Nếu điều đó không hoạt động như sau, mặc dù nó khá - ehrm - xấu xí:

$(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

Có một cách đơn giản để đạt được điều đó,

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

Sử dụng javascript đơn giản để mô phỏng một nhấp chuột.

Bạn có thể kiểm tra ví dụ làm việc tại đây theo số jsFiddle.

Các vấn đề liên quan