杜郎俊赏 - dujun.io

互访功能页性能优化探索

我的主力电脑是 4 核 i7 16G MacBook Pro,所以我用互访功能页开几十个页面是没压力的。收到有些博友反馈打开页面太多电脑卡死,我并不能理解。直到昨晚,我找出 2 核 i3 4G 的笔记本跑了一下,果然卡。因此有必要对互访的性能做进一步优化了。

理想的逻辑是,一次只打开 5 个页面,其他在队列中等待,每加载完一个网站,关闭当前页,打开队列中另一个网站。这样浏览器同时最多只会存在 5 个页面占用。但尝试了一下,这个方案目前无法实现,因为跨域问题。

一、窗口对象

直接用 window.open 对象,无法监听加载状态, onload 会发生跨域错误。

二、iframe

嵌入 iframe 可以 onload 监听目标网站加载状态。但问题是,如果目标网站设置禁止被嵌套,就无法访问,但也返回加载完成,这样无法正确判断网站实际上有没有被打开。

目前没有找到解决办法,只是逻辑上调整了一下:每 3 秒打开 5 个页面,10 秒后关闭。

标签: 开发 应用
日期:2022-10-19