Javascript код запускается каждые 10 минут и закрывается, вызывается windows после загрузки - PullRequest
0 голосов
/ 20 апреля 2020

Я хочу javascript, который может открывать ссылку каждые 10 минут и закрывать открытую вкладку, как только вкладка полностью загружена, я попробовал следующий код и он работает нормально, но вкладка закрывается мгновенно, хочу закрыть ее когда он полностью загружен.

var mywindow;
setInterval(function() {
  mywindow = window.open("https://www.google.com");
  mywindow.close();
}, 2000);

1 Ответ

0 голосов
/ 20 апреля 2020

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

// ==UserScript==
// @name         Close Google
// @match        https://www.google.com
// @grant        none
// ==/UserScript==

// this will run automatically once the DOM is loaded
window.close();

Но не очень разумно просить каждого пользователя вашего сценария сделать это - альтернативой будет просто подождать некоторое время, секунду или несколько, чтобы убедиться, что страница загружена, затем .close() it:

setInterval(function () {
    const newWindow = window.open("https://www.google.com");
    setTimeout(() => {
        newWindow.close();
    }, 3000);
}, 10 * 60_000);

Если вы хотите, чтобы ссылка открывалась каждые 10 минут, передайте 10 * 60_000 на внешний setTimeout, а не 2000.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...