Как заставить мое электронное приложение вести себя как мобильное устройство - PullRequest
0 голосов
/ 14 февраля 2020

Например, посещение instagram.com/direct/inbox/ приводит к ошибке 404, но когда вы включаете «панель инструментов устройства» dev tools и выбираете мобильное устройство, instagram показывает мне страницу DM.

I я пытаюсь сделать это в небольшом электронном приложении, и я уже пытался установить пользовательский агент на ipad / samsung, но instagram все еще обнаруживает, что это не настоящее устройство, и все еще перенаправляет меня на домашнюю страницу.

Это мой код:

const {app, BrowserWindow, session} = require('electron')
const path = require('path')

function createWindow () {

  const mainWindow = new BrowserWindow({
    width: 400,
    height: 850,
  })

  session.defaultSession.webRequest.onBeforeSendHeaders((details, callback) => {
    details.requestHeaders['User-Agent'] = 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Mobile Safari/537.36';
    callback({ cancel: false, requestHeaders: details.requestHeaders });
  });

  mainWindow.loadURL('https://instagram.com/direct/inbox')

}

app.on('ready', createWindow)

// Quit when all windows are closed.
app.on('window-all-closed', function () {
  if (process.platform !== 'darwin') app.quit()
})

app.on('activate', function () {
  if (BrowserWindow.getAllWindows().length === 0) createWindow()
})

Я что-то упустил?

1 Ответ

1 голос
/ 14 февраля 2020

Прочитайте документацию webContents Метод https://www.electronjs.org/docs/api/web-contents

Попробуйте, это сработало мной

  mainWindow = new BrowserWindow({width: 412, height: 732, title: 'Instagram Desktop'})

  // and load the index.html of the app.
  mainWindow.webContents.setUserAgent("Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko; googleweblight) Chrome/38.0.1025.166 Mobile Safari/535.19");
  mainWindow.loadURL('https://instagram.com/direct/inbox')

Основано с https://github.com/azishapidin/instagram-electron/blob/master/main.js

...