使用 html5 postMessage 实现跨域

时间:2021-10-31 00:00:37

英文原文
中文翻译

因为web的安全机制,浏览器的同源策略。在不同域之间做数据交换就会涉及到跨域。A域如果要实现向B域发关消息,多多少少要有对B域有一定控制权,最起码人家B域要接收你的消息啊。

最近发现几个内容不错、结构固定、定时更新的网站,于是想在浏览这些内容的同时,直接转到我的博客里来。但因为一来要调整部分内容,二来对方站不让爬(我的爬虫技巧也是很一般)。就想着写个油猴子脚本把内容发到我的网站上。

很快我就写好了接收接口,接下来就是跨域发送消息了。我第一个想到的就是iframe的方式。当然也只有这种方式 ,websql、localStorage、seesionStorage这些都受限于同源策略,jsonp因为url参数不宜过长的原因,传不了太多的数据。而postMessage正是iframe的加强版。

未完待续... ...

参考文档

同域限制和window.postMessage方法