electron webview 获取数据出坑

最近一段时间,需要基于腾讯的一套trct视频对接demo,改出一套跨平台前端,选来选去用了electron
这东西现学现卖,貌似不难,但是一个难题卡住了我。需要前端和一个外面服务器网页交互,那边是asp,get一个网页,结果写在页面上,前端获取结果就OK。asp是我自己写的怎么改都行。没想到,这么简单的事情卡了整整两天。
腾讯的demo比较大,不想重新搭建,但是原来的工程不知道埋什么坑,页面里面所有require(“electron”)之类都有问题,import from可以但是模块用的时候也不行,函数里面有这样语句一遇到就返回,也不报错,我试了语句前面的alert能输出,后面的就没了。
出现这些问题时候,主进程正常。

这使得任何在vue网页里获取网页的方式都没戏。http,xmlhttp,
eletron-fetch,needle,……全都不行。

我试了一下,主进程获取网页没问题,能在console log打印,但是主进程与页面无法通信。我试了网上的ipc进程通讯,sharedobject共享对象,都没戏,这些都需要require electron

这些功能我在自己搭的小demo可以用,但腾讯trtc硬是不行。
网上说因为安全考虑,高版本electron默认进行了一些限制。在主进程打开窗口是,在webreference打开就行,我打开了各种,node,security,四五种,总之没用。以前webview是空白,改了以后能开网页,但是不能require的怪问题没解决。

我甚至想用vb先把asp数据取回来,写在硬盘文件给electron读,但是fs对象也不能用,逼疯了。

最后逼到了webview这条路上,开始蛮顺的,加了标签后,想要的结果就显示在屏幕上,可惜还是取不出来。
试用了以往熟悉的各种dom办法,innerHTTP是空白,body,getelementbyid,取到都是空的。我怀疑都被electron屏蔽了。
webview支持downloadurl,可以下载到硬盘文件,还是没用,存盘取不出来。

最后总算发现,webview有个方法gettitle()
可以返回网页标题,既然结果放body不让拿,那么asp把想要的结果直接放title里面不就行了吗?一试,果然OK!

哈哈哈哈,终于突破了electron设置的重重包围!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值