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

Чтобы получить лучшее из обоих миров, я бы хотел отложить загрузку каждой страницы при запуске. Как я могу это сделать?

1 ответ1

1

Я пытался найти расширение Chrome, чтобы сделать это, но не смог точно. Затем мне пришло в голову, что я могу использовать простую HTML-страницу, которая хранится локально на моем жестком диске, и перенаправить ее с помощью javascript после настраиваемой задержки.

Поэтому вместо того, чтобы мои стартовые страницы были установлены на:

https://www.farnamstreetblog.com/blog/
http://hackaday.com/blog

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

file:///misc/redirect_after_delay.html?delay=5&url=https://www.farnamstreetblog.com/blog/
file:///misc/redirect_after_delay.html?delay=8&url=http://hackaday.com/blog

Страница HTML принимает 3 параметра для управления работой задержки, а именно:

  • задержка -> как долго ждать в секундах, прежде чем перенаправить на страницу. По умолчанию это 5 секунд.
  • URL -> URL для перенаправления на
  • showInfoDelay -> Как долго ждать, прежде чем показывать сообщение "Redirect" на странице. Я обнаружил, что сообщение немного раздражает при запуске, поэтому я сделал его таким, чтобы оно показывалось только через 3 секунды. Вы можете передать 0 здесь, и сообщение будет немедленно показано.

redirect_after_delay.html

<html>
    <head>
      <title>Redirect after Delay</title>

      <style>
        * {
            font-family:arial;
        }

        body{}
      </style>

      <script>
        function getParameterByName(name, url) {
            if (!url) url = window.location.href;
            name = name.replace(/[\[\]]/g, "\\$&");
            var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
                results = regex.exec(url);
            if (!results) return null;
            if (!results[2]) return '';
            return decodeURIComponent(results[2].replace(/\+/g, " "));
        }

        function nvl(value,defaultValue)
        {
          if (value == null)
            return defaultValue;
          if (value == "")
            return defaultValue;
          if (value)
            return value;
          return defaultValue;
        }

        var url = getParameterByName('url');
        var seconds = nvl(parseInt(getParameterByName('delay')), 5);
        var delay = seconds * 1000;
        var showInfoDelay = nvl(parseInt(getParameterByName('showInfoDelay')), 3) * 1000;

        document.title=url;

        setTimeout(function()
        {
          window.location = url;
        }, delay);
        console.log('loaded');

        setTimeout(function()
        {
          document.write('Redirecting to <a href="' + url + '">' + url + '</a></p> in ' + seconds + ' seconds.');
        }, showInfoDelay);

      </script>

    </head>
  <body>
  </body>
</html>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .