我需要在电子中设置UserAgent以包含touch
标志,因为我正在编写触摸屏应用程序并且它似乎无法自动检测到它在触摸屏上运行。< / p>
任何帮助都会很好,我已经尝试在BrowserWindow.loadURL选项参数中设置它。
答案 0 :(得分:15)
您可以使用onBeforeSendHeaders
在主进程中设置User-Agent标头import { session } from 'electron';
session.defaultSession.webRequest.onBeforeSendHeaders((details, callback) => {
details.requestHeaders['User-Agent'] = 'SuperDuperAgent';
callback({ cancel: false, requestHeaders: details.requestHeaders });
});
答案 1 :(得分:15)
加载网址时只需使用选项对象。
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
});
}
答案 2 :(得分:4)
在加载文件之前,您可以调用 BrowserWindowInstance .webContents.setUserAgent()
mainWindow.webContents.setUserAgent(mainWindow.webContents.getUserAgent() + " Custom Value");
mainWindow.loadFile('renderer/index.html');
使用电子版3.0.4以前的解决方案对我不起作用。
答案 3 :(得分:0)
如果您使用的是<webview>
标签,请使用此标签,这对我来说效果更好
<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>