Webview Electron如何设置设备类型用户代理
我正在使用electron制作一个web浏览器,我想知道是否有一种方法可以让electron report特定的用户代理信息欺骗网站,使其认为它们是在手机上而不是桌面上呈现的。非常感谢您的帮助。有几种方法可以做到这一点: 1) 使用Webview Electron如何设置设备类型用户代理,webview,electron,user-agent,Webview,Electron,User Agent,我正在使用electron制作一个web浏览器,我想知道是否有一种方法可以让electron report特定的用户代理信息欺骗网站,使其认为它们是在手机上而不是桌面上呈现的。非常感谢您的帮助。有几种方法可以做到这一点: 1) 使用浏览器窗口对象 win = new BrowserWindow({width: 800, height: 600}); win.loadURL('http://my-website/foo.html', { userAgent: 'MyFakeAgent/1.
浏览器窗口
对象
win = new BrowserWindow({width: 800, height: 600});
win.loadURL('http://my-website/foo.html', {
userAgent: 'MyFakeAgent/1.0'
});
2) 在一个
另一个解决方案是处理BrowserWindow中的所有webview实例(在下面的代码中称为
mainWindow
)
const getUserAgentString=()=>{
让userAgentString='ElectronApp/'+app.getVersion()
userAgentString+=“Electron/”+process.versions.Electron
userAgentString+=“Chrome/”+process.versions.Chrome
userAgentString+=“Node.js/”+process.versions.Node
返回userAgentString
}
//其中mainWindow=新BrowserWindow(browserWindowOptions)
main window.webContents.on('did-attach-webview',函数(事件,webContents){
webContents.userAgent=getUserAgentString()
})
<webview src="http://my-website/foo.html" useragent="MyFakeAgent/1.0"></webview>
import { session } from 'electron';
session.defaultSession.webRequest.onBeforeSendHeaders((details, callback) => {
details.requestHeaders['User-Agent'] = 'MyFakeAgent/1.0';
callback({
cancel: false,
requestHeaders: details.requestHeaders
});
});