электронный удаленный URL-адрес показывает, браузер не поддерживается - PullRequest
3 голосов
/ 09 апреля 2020

Я очень плохо знаком с узлом и электроном. Я следую примеру простого электронного приложения здесь для доступа к удаленному URL-адресу https://core1-den.brightlinkip.com/webphone/

Я не могу понять, как заставить его распознавать, что Electron использует действующий браузер. Он продолжает выдавать ошибку «Браузер не поддерживается». Сайт открывается нормально на Chrome.

Я также пытался вручную установить user-agent на электронном, но все равно выдает ту же ошибку: «Браузер не поддерживается»

Вот стандартный пользовательский агент на электронном:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Electron/8.2.1 Safari/537.36

Вот мой useragent:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36

Вот мой код:

const {app, BrowserWindow} = require('electron') // http://electron.atom.io/docs/api

let window = null

// Wait until the app is ready
app.once('ready', () => {
  // Create a new window
  window = new BrowserWindow({
    // Set the initial width to 800px
    width: 800,
    // Set the initial height to 600px
    height: 600,
    // Don't show the window until it ready, this prevents any white flickering
    show: false,
    webPreferences: {
      // Disable node integration in remote page
      nodeIntegration: false
    }
  })

  // URL is argument to npm start
  const url = "https://core1-den.brightlinkip.com/webphone/"
  window.loadURL(url)

  // Show window when page is ready
  window.once('ready-to-show', () => {
    window.maximize()
    window.show()
  })
})

Я думаю, что этот код обнаружения браузера из удаленного URL-адреса имеет значение:

detectBrowser: function(e) {
            var t = e && e.navigator
              , n = {};
            if (n.browser = null,
            n.version = null,
            void 0 === e || !e.navigator)
                return n.browser = "Not a browser.",
                n;
            if (t.mozGetUserMedia)
                n.browser = "firefox",
                n.version = r(t.userAgent, /Firefox\/(\d+)\./, 1);
            else if (t.webkitGetUserMedia)
                n.browser = "chrome",
                n.version = r(t.userAgent, /Chrom(e|ium)\/(\d+)\./, 2);
            else if (t.mediaDevices && t.userAgent.match(/Edge\/(\d+).(\d+)$/))
                n.browser = "edge",
                n.version = r(t.userAgent, /Edge\/(\d+).(\d+)$/, 2);
            else {
                if (!e.RTCPeerConnection || !t.userAgent.match(/AppleWebKit\/(\d+)\./))
                    return n.browser = "Not a supported browser.",
                    n;
                n.browser = "safari",
                n.version = r(t.userAgent, /AppleWebKit\/(\d+)\./, 1)
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...