要求浏览器探测另一个站点上的数据

时间:2018-05-16 12:34:55

标签: javascript web browser cross-domain cross-site

想象一下,我拥有自己的MySite.com,我想要对众多其他网站的正常运行时间进行监控。

当Alice访问MySite.com时,我想让她的浏览器向OtherSite.com发送请求,然后如果对OtherSite.com的请求成功或失败,则向MySite.com报告。

如果可以采用这种方法,我基本上可以在没有后端的情况下进行正常运行时间监控。

是否有可能在MySite.com上编写一个实现此目的的JS / HTML?或者是否被跨站点脚本或其他阻止机制阻止? 代码示例?

1 个答案:

答案 0 :(得分:1)

它被Same Origin Policy阻止,除非当然,OtherSite.com通过Access-Control-Allow-Origin: *将所有来源列入白名单。

可以做的是拥有OtherSite.com主机脚本或没有缓存的图片,并让MySite.com通过script元素或img元素请求该文件。如果请求成功,则OtherSite.com即将启动;如果没有,OtherSite.com会关闭(或至少不提供该文件)。您无法读取脚本/图片的内容,因为这会违反SOP,但您可以检测加载它的成功或失败。

当然,您仍然需要一些方法来汇总这些信息,这表明需要一些类型的后端。