web-dev-qa-db-fra.com

Comment configurer l'électron UserAgent

J'ai besoin de définir UserAgent en électron pour inclure le drapeau touch car j'écris la demande pour les écrans tactiles et il ne semble pas détecter automatiquement qu'il fonctionne sur un écran tactile.

Toute aide serait agréable, j'ai déjà essayé de la définir dans le paramètre d'options BrowserWindow.loadURL.

14
zchrykng

Vous pouvez définir l'en-tête User-Agent dans le processus principal en utilisant onBeforeSendHeaders :

import { session } from 'electron';

session.defaultSession.webRequest.onBeforeSendHeaders((details, callback) => {
  details.requestHeaders['User-Agent'] = 'SuperDuperAgent';
  callback({ cancel: false, requestHeaders: details.requestHeaders });
});
16
Vadim Macagon

Utilisez simplement un objet option lors du chargement de l'URL.

function createWindow () {
   win = new BrowserWindow({width: 800, height: 600});
   win.loadURL('http://www.whoishostingthis.com/tools/user-agent/',
     {userAgent: 'Chrome'});

   win.on('closed', () => {
     win = null
   });
}
20
Eric Dela Cruz

Avant de charger le fichier, vous pouvez appeler BrowserWindowInstance . WebContents.setUserAgent ()

mainWindow.webContents.setUserAgent(mainWindow.webContents.getUserAgent() + " Custom Value");
mainWindow.loadFile('renderer/index.html');

Fonctionne avec electron 3.0.4 Les solutions précédentes ne fonctionnaient pas pour moi.

8
siniradam

Utilisez-le simplement si vous utilisez un <webview> tag, cela fonctionne mieux pour moi

<webview src="https://www.github.com/" useragent="Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko"></webview>
0
Dexter's