想象一下,我拥有自己的MySite.com,我想要对众多其他网站的正常运行时间进行监控。
当Alice访问MySite.com时,我想让她的浏览器向OtherSite.com发送请求,然后如果对OtherSite.com的请求成功或失败,则向MySite.com报告。
如果可以采用这种方法,我基本上可以在没有后端的情况下进行正常运行时间监控。
是否有可能在MySite.com上编写一个实现此目的的JS / HTML?或者是否被跨站点脚本或其他阻止机制阻止? 代码示例?
答案 0 :(得分:1)
它被Same Origin Policy阻止,除非当然,OtherSite.com通过Access-Control-Allow-Origin: *
将所有来源列入白名单。
您可以做的是拥有OtherSite.com主机脚本或没有缓存的图片,并让MySite.com通过script
元素或img
元素请求该文件。如果请求成功,则OtherSite.com即将启动;如果没有,OtherSite.com会关闭(或至少不提供该文件)。您无法读取脚本/图片的内容,因为这会违反SOP,但您可以检测加载它的成功或失败。
当然,您仍然需要一些方法来汇总这些信息,这表明需要一些类型的后端。