Как создать ссылку, которая ведет на определенную страницу, ждет 3 секунды, затем автоматически нажимает на внутреннюю ссылку на текущей странице?

#javascript #html

#javascript #HTML

Вопрос:

Как мне создать ссылку, по которой после нажатия на нее вы попадаете на определенную страницу, ждете 3 секунды, затем автоматически нажимаете на определенную внутреннюю ссылку на этой текущей странице?

В настоящее время у меня есть этот
HTML:

 <a href="http://www.example.com#pupup_element_27_child">Go to Page</a>
  

Javascript:

  if(window.location.hash === "#pupup_element_27_child"){

 }
  

Я проверил несколько других вопросов, которые, как я думал, могут быть похожими, но не такими конкретными, как этот.

Комментарии:

1. Я не думаю, что вы можете сделать это без кода на новой странице. Как только вы переходите на новую страницу, JavaScript текущей страницы перестает выполняться.

2. Какой код? У меня есть доступ, поскольку все это происходит на одном и том же веб-сайте.

Ответ №1:

Если есть две разные страницы, вы можете использовать параметр URL, чтобы перейти по нужной ссылке через 3 секунды. Код на целевой странице (добавить ?Следующая ссылка после URL):

 <body onload="followLink()">
<a href="http://pudim.com.br" id="link" target="_blank">Automatically follow this link after 3s</a>
<script>
  function followLink(){
  var params = window.location.search;
  if (params.indexOf("followLink")){
    window.setTimeout(function(){
    document.querySelector('#link').click();
              },3000);
  }
}
</script>
</body>  

Комментарии:

1. Я не думаю, что это та же страница, это новая страница на том же сайте.

2. @Barmar ты, наверное, прав. Я отредактировал свой ответ, чтобы рассмотреть две разные страницы в этом сценарии.

Ответ №2:

Используйте setTimeout() , чтобы отложить действие на 3 секунды после загрузки новой страницы.

 if (window.location.hash === "#pupup_element_27_child") {
  setTimeout(function() {
    document.querySelector("#pupup_element_27_child").click();
  }, 3000);
}
  

Этот JavaScript переходит на целевую страницу.

Ответ №3:

Если вы хотите перенаправить на другую страницу (на свой веб-сайт) и перенаправить на другую страницу на том же веб-сайте, на промежуточной странице обязательно должен быть скрипт, который ожидает желаемого времени и перенаправляет.

Если вы не хотите делать это каждый раз, когда получаете доступ к этой средней странице, вы можете передать некоторые параметры запроса и настроить свой метод на ожидание, только если присутствуют некоторые параметры запроса

Ответ №4:

Согласно вашему вопросу, когда пользователь нажимает на ссылку на вашей текущей странице, это приведет к другой странице, где вы хотите автоматически щелкнуть ссылку, которая существует на этой странице, затем на вашей текущей странице поместите этот скрипт. Вы можете установить время на любое удобное для вас время. Надеюсь, это отвечает на ваш вопрос.

 <html>
<head>
<script
  src="https://code.jquery.com/jquery-3.4.0.min.js"
  integrity="sha256-BJeo0qm959uMBGb65z40ejJYGSgR7REI4 CW1fNKwOg="
  crossorigin="anonymous"></script>
 </head>
<body>
<a href="anotherLink.html" id="openThis">Go to Page</a>
<script>
window.onload = function() {
  setTimeout(function() {
 document.querySelector("#openThis").click();
  }, 2000);
};

</script>
</body>
</html>

  

Ответ №5:

Внутри логики проверки местоположения установите тайм-аут, который будет принимать вашу внутреннюю ссылку, а затем щелкните по ней. Вам следует рассмотреть jQuery.

 if(window.location.hash === "#pupup_element_27_child"){
    #Add a timeout here
    setTimeout(()=>{
        #Load the target url with whatever API/Library desired
        window.location.href="https://my_new_location";
    },3000);
}