如何设置电子用户代理
How to set electron UserAgent
我需要在电子中设置UserAgent以包含touch
标志,因为我正在为触摸屏编写应用程序,并且它似乎没有自动检测到它正在触摸屏上运行。
任何帮助都会很好,我已经尝试在浏览器窗口.loadURL 选项参数中设置它。
加载 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
});
}
您可以使用 onBeforeSendHeaders 在主进程中设置 User-Agent 标头:
import { session } from 'electron';
session.defaultSession.webRequest.onBeforeSendHeaders((details, callback) => {
details.requestHeaders['User-Agent'] = 'SuperDuperAgent';
callback({ cancel: false, requestHeaders: details.requestHeaders });
});
在加载文件之前,可以调用 BrowserWindowInstance.webContent.setUserAgent()
mainWindow.webContents.setUserAgent(mainWindow.webContents.getUserAgent() + " Custom Value");
mainWindow.loadFile('renderer/index.html');
适用于电子 3.0.4 以前的解决方案对我不起作用。
电子 8.2.5 更新
在较新的版本中,将弃用 setUserAgent 方法。相反,请使用它;
mainWindow.webContents.userAgent //to get
mainWindow.webContents.userAgent = "Something" //to set
如果您
使用的是<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>
相关文章:
- 使用c#将用户数据设置为HTML标记
- 在Chrome for iOS中,附加到用户代理字符串的唯一选项卡ID
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- iframe的假用户代理
- HTML - 如何在不同的用户代理中显示不同的图像
- Chrome 的用户代理值
- 如何揭示骗子用户代理
- Greasemonkey Spoof用户代理
- 如何使用ian:accounts-ui-botstrap-3根据Meteor中的用户输入设置配置文件字段值
- 用户输入设置数组长度
- 在HTML中记住用户区域设置选择的最简单方法
- WindowsPhone 哪个用户代理是正确的
- 如何使用来自@Html.TextBoxFor的用户输入设置@Html.RadioButtonFor的值
- WebGL CORS:试图突破用户代理的安全策略
- 在 Chrome 扩展程序中为 HTTP 请求设置用户代理
- 如何设置电子用户代理
- 如何设置导航器用户代理
- Phantomjs 抛出“此页面使用框架,但您的浏览器不支持它们”错误,即使在设置了正确的用户代理后也是如此
- 如何设置(更改)导航器(appname,用户代理等)在浏览器控制
- 为iFrame设置用户代理