Код основного приложения Electron не выполняется, когда приложение загружает страницу входа Okta - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть setInterval, который создается внутри метода, называемого форма рендерера / пользовательский интерфейс. Этот setInterval выполняется через 5 секунд и работает хорошо. Проблема в том, что когда приложение переходит на страницу входа в okta, что означает, что оно загружает ab c .okta.com, функция setInterval больше не запускается, когда приложение находится на странице входа в okta. Мне нужно запустить этот setInterval, который, по сути, следит за тем, чтобы пользователь слишком долго находился на странице входа в okta, и перенаправляет пользователя на другой URL. Сценарий с этим методом, создающий setInterval, остается доступным в исходном коде, хотя и в инструментах разработчика.

const { BrowserWindow } = require('electron').remote

export const oktaMonitor = () => {
  setInterval(() => {
    if (
      abc !== '' &&
      abc !== def
    ) {
      const browserWindow = BrowserWindow.getFocusedWindow()
      if (browserWindow) {
        browserWindow.loadURL('https://abc.something.com/login')
      }
    }
  }, 1000 * 5)
}

Имеет ли это какое-то отношение к тому факту, что метод вызывается со стороны пользовательского интерфейса / средства визуализации и загрузка чего-то еще в рендерер очищает setIntervals. Хотя технически это выглядит очень странно, как setInterval, созданный в побочном событии хрома l oop, может быть очищен чем-то, что происходит на стороне рендерера или пользовательского интерфейса.

...