我需要设置用户代理的电子为包括touch
标志,因为我写的触摸屏的应用程序,它似乎并没有自动确实检测到它是一个触摸屏上运行。如何设置电子的UserAgent
任何帮助将是不错的,我已经尝试过在BrowserWindow.loadURL选项PARAM设置它。
我需要设置用户代理的电子为包括touch
标志,因为我写的触摸屏的应用程序,它似乎并没有自动确实检测到它是一个触摸屏上运行。如何设置电子的UserAgent
任何帮助将是不错的,我已经尝试过在BrowserWindow.loadURL选项PARAM设置它。
您可以设置User-Agent头使用onBeforeSendHeaders的主要过程:
import { session } from 'electron';
session.defaultSession.webRequest.onBeforeSendHeaders((details, callback) => {
details.requestHeaders['User-Agent'] = 'SuperDuperAgent';
callback({ cancel: false, requestHeaders: details.requestHeaders });
});
加载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
});
}
以供将来参考:如果要延长,而不是覆盖它的用户代理,你可以通过'双赢得到原来的用户代理。 webContents.getUserAgent()'。 – Tsunamis
请确保您的版本> = 0.36.1。否则它将无法工作。刚花了太多的时间搞清楚了这一点。 – ccnokes
@ccnokes没有,你只需要提供前回调参数的过滤器(或undefined);) –