Сделать settimeout различным в зависимости от определенных факторов - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь обновить страницу, и каждый раз, когда я обновляю страницу, я хочу бросить случайное число.Если оно равно нулю, я хочу, чтобы страница подождала 5 секунд, прежде чем обновлять снова.Если это так, я хочу, чтобы страница подождала 1 секунду, а затем снова обновилась?Однако, с моим кодом, страница либо обновляется через 1 секунду каждый раз, либо обновляется через 5 секунд каждый раз.Что я делаю не так, и как я могу это исправить?

Пожалуйста, используйте коды, которые у меня есть, и укажите, что я сделал неправильно в своем коде:

// ==UserScript==
// @name        google.com
// @namespace   John Galt
// @description Basic Google Hello
// @match       *^https://www.google.com/$*
// @version     1
// @require     https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// @grant       GM_xmlhttpRequest
// @run-at document-end
// ==/UserScript==

//*****************************************START OF SET_TIMEOUT
(function ($) {
  'use strict';
  var interval;
  if (Math.floor(Math.random() * 2) == 0) { interval = 1000; }
  else { interval = 5000; }
  if (window == window.top) {
    var body = $('body').empty();
    var myframe = $('<iframe>')
      .attr({ src: location.href })
      .css({ height: '95vh', width: '100%' })
      .appendTo(body)
      .on('load', function () {
        setTimeout(function () {
          myframe.attr({ src: location.href });
        }, interval);
      });
  }
})(jQuery);
//*****************************************END OF SET_TIMEOUT
...