2016-02-27 60 views
3

我需要設置用戶代理的電子爲包括touch標誌,因爲我寫的觸摸屏的應用程序,它似乎並沒有自動確實檢測到它是一個觸摸屏上運行。如何設置電子的UserAgent

任何幫助將是不錯的,我已經嘗試過在BrowserWindow.loadURL選項PARAM設置它。

回答

10

您可以設置User-Agent頭使用onBeforeSendHeaders的主要過程:

import { session } from 'electron'; 

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

請確保您的版本> = 0.36.1。否則它將無法工作。剛花了太多的時間搞清楚了這一點。 – ccnokes

+0

@ccnokes沒有,你只需要提供前回調參數的過濾器(或undefined);) –

8

加載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 
    }); 
} 
+1

以供將來參考:如果要延長,而不是覆蓋它的用戶代理,你可以通過'雙贏得到原來的用戶代理。 webContents.getUserAgent()'。 – Tsunamis

相關問題