首页 > 解决方案 > 在ubuntu开发过程中电子应用程序需要铬吗

问题描述

我是电子 js 的新手,我创建了一个简单的应用程序来打开 whatsapp 网络。

首先它工作得很好,但当时我没有铬。然后我使用电子锻造,所以我用相同的代码创建了一个新的应用程序,这次我有铬。

但是输出不同 在此处输入图像描述

代码链接在这里=> https://github.com/gowtham758550/WA-opener

是否需要铬或铬可以运行电子应用程序

我是初学者帮我解决这个问题

标签: electronelectron-forge

解决方案


您需要更改用户代理。

用户代理只是 Whatsapp 用来检测您来自哪个操作系统和浏览器的字符串。目前用户代理看起来像这样:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) wa-opener/1.0.0 Chrome/89.0.4389.90 Electron/12.0.2 Safari/537.36

注意 Electron 是如何添加的wa-opener/1.0.0

取出wa-opener/1.0.0用户代理修复它。

我们可以使用以下代码更改用户代理:

var session = require('electron').session;
session.defaultSession.webRequest.onBeforeSendHeaders(function (detailsObj, callbackFunc) {
    detailsObj.requestHeaders['User-Agent'] = detailsObj.requestHeaders['User-Agent'].replace(/wa-opener\/[.0-9]+ /, '');
    callbackFunc({requestHeaders: detailsObj.requestHeaders});
});

这将从wa-opener/1.0.0用户代理中取出,瞧!


推荐阅读