我们的单页应用程序嵌入来自Youtube的视频,供最终用户使用.如果用户确实可以访问Youtube域以及该域页面的内容,那么一切都很有效.
然而,我们经常遇到用户,他们对Youtube的访问权限被网络上的网络过滤器框阻止,例如https://us.smoothwall.com/web-filtering/.这里的挑战是过滤器实际上不会终止请求,它只是返回另一个页面,而不是HTTP状态200.该页面通常会说“嘿,对不起,这个内容被阻止”.
一种选择是尝试获取https://www.youtube.com/favicon.ico以证明域名是可访问的.问题是这些过滤器通常涉及一个自定义SSL证书,以允许他们检查HTTP内容(参见:https://us.smoothwall.com/ssl-filtering-white-paper/),所以我不能依赖TLS捕获与我交换的内容与不正确的证书,我会收到一个完全有效的favicon.ico文件,除了来自不同的网站.还有整个CORS问题,即从youtube.com的域名向我们的域发布XHR,这意味着如果我想获得favicon.ico,我必须采用JSONP风格.然而,即使使用普通的旧版本< img>由于CORS,我无法测试图像的内容,见Get image data in JavaScript?,所以我坚持这种方法.
是否有任何经过验证的可靠方法来处理这种情况并测试浏览器级别对特定域的可达性?
干杯.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。