Я очень плохо знаком с узлом и электроном. Я следую примеру простого электронного приложения здесь для доступа к удаленному 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)
}