2009-03-02 3 views
6

Есть ли простой способ заставить JavaScript подражать пользователю, щелкнув метку привязки на странице? Это означает, что URL-адрес реферера должен быть установлен. Просто установка document.location.href не устанавливает URL-адрес Referrer.Как перемещаться по href в теге привязки с помощью JavaScript

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

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

Это не работает, потому что для ссылки не установлено событие Click().

ответ

14

Вы можете сделать:

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

Если вы хотите сохранить реферер, вы можете сделать это:

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

Это хак, но работает во всех браузерах.

+0

Я не думаю, что это работает, чтобы получить URL-адрес реферала. Я обновил вопрос, чтобы отразить это. – 2009-03-02 19:10:27

+0

Mm. Это делается на Firefox, просто не на IE. Вглядываясь в него. –

+0

Вы можете просто использовать window.location.assign(), если хотите сохранить URL-адрес реферера, поэтому код будет выглядеть следующим образом: window.location.assign ("http: // localhost /"); – fedmich

1

Возможно, что-то такое, что вы ищете?

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

Это не работает, потому что URL-адрес реферера не устанавливается. Я обновил вопрос – 2009-03-02 19:14:26

0

Хорошо, реферер не получает устанавливается с помощью document.location (как в моей другой ответ), может работать с window.navigate (URL)? Если это не сработает следующий мощь, хотя это довольно - ehrm - некрасиво:

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

Существует более простой способ добиться этого,

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.

Смежные вопросы