如何在客户端跨域使用CORS
How to cross domain with CORS in client side?
我设置了一个本地web服务器(127.0.0.1),我想用javascript从其他域(http://edge.telin.swiftserve.com)获取内容。但是它在控制台web浏览器中返回一个错误。上面写着
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://edge.telin.swiftserve.com/live/livetv-mbr/amlst:fa161aa74311/chunklist_b1328000.m3u8?stime=20160907142814&etime=20160907182814&encoded=0157a3207a0dbe56fac02. (Reason: CORS header 'Access-Control-Allow-Origin' missing)
如果我在chrome浏览器中安装了cors扩展,则成功获取内容,如果我没有安装它,则无法获取。
这是代码
<html>
<head>
</head>
<body>
<script src="https://cdn.jsdelivr.net/hls.js/latest/hls.min.js"></script>
<video id="video" width="640" height="360" controls></video>
<script>
if(Hls.isSupported()) {
var video = document.getElementById('video');
var hls = new Hls();
hls.loadSource('http://edge.telin.swiftserve.com/live/livetv-mbr/amlst:fa161aa74311/chunklist_b1328000.m3u8?stime=20160907142814&etime=20160907182814&encoded=0157a3207a0dbe56fac02');
hls.attachMedia(video);
hls.on(Hls.Events.MANIFEST_PARSED,function() {
video.play();
});
}
</script>
</body>
</html>
你能够成功地获取内容,因为扩展绕过浏览器安全。这就是原因。
详细说明,浏览器有内置的安全性,以防止它发出跨域请求。这种安全性可以在扩展中禁用。
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 如何将我的javascript库公开给其他客户端使用
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 返回/从Twit's客户端.get
- 将客户端特定的日期格式返回到服务器MVC4
- MobileFirst:在客户端运行计时器作业-最佳选项
- CORS——它是客户端的东西,服务器端的东西,还是传输级别的东西
- Meteor:使用HTTP.get从客户端访问网站(CORS错误)
- 在Angular中使用解析客户端密钥会导致CORS错误
- 从javascript web服务客户端发送CORS POST请求返回http 405错误
- 如何在客户端跨域使用CORS
- 关于客户端安全,CORS除了颠覆同源策略之外,还会做其他事情吗
- CORS,当客户端和;服务器是localhost
- 让 CORS 与 JQuery 客户端、节点/快速服务器一起工作时出现问题