2016-09-07 7 views
0

Ich habe einen lokalen Webserver (127.0.0.1) eingerichtet und möchte Inhalte von einer anderen Domäne (http://edge.telin.swiftserve.com) mit Javascript abrufen. aber es gibt einen Fehler im Webbrowser der Konsole zurück. es sagteWie übergebe ich Domain mit CORS auf der Client-Seite?

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)

i succeful den Inhalt holen, wenn ich eine cors Erweiterung in Chrome-Browser installiert und fiel zu holen, wenn ich es nicht installieren bin.

dies ist der Code

<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> 
+0

Sie müssen etwas über die Same-Origin-Richtlinie erfahren. Das kannst du nicht tun. – SLaks

+0

@slaks Ich lese einige Seiten sagte, wenn wir Domain mit Cors überqueren können. wenn ein Server und ein Client cors unterstützen. und ich denke, der Server ist Support Cors. Denn ich probiere es mit Browser mit installierter Extension aus. Ich kann den Inhalt holen. so wie man einen lokalen Server cors zu anderen Domain senden lassen? – marcrise

+0

Diese Erweiterung ist genau das Gegenteil von CORS. Sie müssen lernen, was CORS eigentlich ist. Sie müssen Ihren Server veranlassen, diesen Header zu senden. – SLaks

Antwort

1

Sie in der Lage sind, um erfolgreich zu Inhalt zu holen, weil die Erweiterung Browser-Sicherheit umgeht. Das ist der Grund.

Der Browser verfügt über eine integrierte Sicherheit, um domänenübergreifende Anforderungen zu vermeiden. Diese Sicherheit kann in einer Erweiterung deaktiviert werden.

+0

können Sie versuchen, mit Chrome Browser und installieren Sie diese Erweiterung https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi. Das Video kann abspielen. wenn ich es deaktiviere. Das Video kann nicht abgespielt werden. die Erweiterung wie etwas auf der Client-Seite manipulieren. Ich denke, wir können mit javascript. – marcrise

+1

@Markrise: Nein. Die Erweiterung umgeht alle Sicherheitseinstellungen. Sie müssen ** verstehen, was CORS ist. – SLaks

+0

@Slaks wenn ja. Wie kann diese Erweiterung dem lokalen Webserver mitteilen, dass er einen benutzerdefinierten Header an eine andere Domain senden soll? – marcrise

Verwandte Themen