2013-01-08 16 views
17

पर एचटीएमएल 5 वीडियो टैग असाइन करते समय मैं वेबजीएल में एक बनावट के लिए एक दूरस्थ वीडियो असाइन करना चाहता हूं। चूंकि वीडियो स्रोत दस्तावेज़ स्रोत से अलग है, इसलिए मैंने वीडियो स्रोत के http शीर्षलेखों में Access-Control-Allow-Origin:* जोड़ा। इसके अलावा, मैंने video.crossOrigin = ''; का उपयोग कर वीडियो टैग में अज्ञात मूल असाइन किया। दिलचस्प बात यह है कि क्रॉस-डोमेन विशेषता छवियों के साथ काम करती है, लेकिन वीडियो टैग के साथ नहीं। जैसे ही WebGL बनावट वीडियो वस्तु, जावास्क्रिप्ट निम्न अपवाद फेंकता को सौंपा गया है:सीओआरएस/क्रॉस डोमेन सुरक्षा अपवाद वेबजीएल बनावट

Uncaught त्रुटि: SECURITY_ERR: डोम अपवाद 18

यहाँ इस समस्या को ठीक करने के लिए एक jsfiddle है।

// CROSS-ORIGIN VIDEO SOURCE 
// REMOTE VIDEO SOURCE PROVIDES "Access-Control-Allow-Origin:*" HEADER 
video.src = 
    'http://kammerl.de/threejs/three.js/examples/textures/kinect.webm'; 
// DEFINING ANONYMOUS ORIGIN 
video.crossOrigin = ''; 
video.play(); 

बाद में वीडियो टैग एक Three.js बनावट को सौंपा गया है:

texture = new THREE.Texture(video); 
http://jsfiddle.net/ZgeTU/2/

यहाँ प्रासंगिक अनुभाग हैं: इस उदाहरण Three.js की webgl_kinect उदाहरण पर आधारित है

जाहिर है कि वेबजीएल में क्रॉसऑरिगिन वीडियो का उपयोग करने में यह समस्या थोड़ी देर के लिए जानी जाती है, लेकिन मुझे इस पर कोई अपडेट नहीं मिला है: http://jbuckley.ca/2012/02/cross-origin-video/

क्या किसी को पता है कि इस मुद्दे की स्थिति क्या है? क्या WebGL में दूरस्थ वीडियो तक पहुंचने के लिए कोई कामकाज है? कोई भी मदद बहुत ही सराहनीय होगी!

धन्यवाद!

+0

परीक्षण किए गए उदाहरण और वीडियो * लोड * क्रोम पर ठीक है, और अगर मैं इसे डोम में जोड़ता हूं तो मैं इसे देख सकता हूं, हालांकि मुझे कोई सुरक्षा त्रुटियां नहीं दिखाई दे रही हैं, "मैं वेबजीएल संदर्भ बनाने में त्रुटि" देख रहा हूं। – jpillora

+1

@ जैमो - क्या आप JSFiddle से गुजर गए थे? क्रोम का कौन सा संस्करण आप (और ओएस) का उपयोग कर रहे हैं? – baalexander

+0

क्या आप इसे https के माध्यम से एक्सेस कर सकते हैं? – chadpeppers

उत्तर

2

चूंकि आप jquery पर हैं, और कुछ क्लाइंट साइड हैंडलिंग की अनुशंसा की जाती है, शायद आप प्लगइन या कॉर्स प्लगइन (2,3) के आधार पर एक नज़र डाल सकते हैं।

मान लीजिए कि आप सही काम कर रहे हैं और हेडर को प्रत्येक ब्राउज़र (4,5) के लिए उपयुक्त जोड़ते हैं, तो वायरसहार्क जैसे पैकेट विश्लेषक को प्राप्त करें और आपको अधिक अंतर्दृष्टि देने के लिए पैकेट की जांच करें।

हालांकि, ऐसा कहा जा रहा है कि वेबजीएल के लिए सीओआरएस एक काम प्रगति पर है। Spec के अनुसार इसे लागू करने के लिए, ब्राउज़र समर्थन (1) संशोधित कर रहे हैं।

शुभकामनाएं।

(1) स्रोत: https://www.khronos.org/webgl/public-mailing-list/archives/1106/msg00042.html

(2) स्रोत: archive.plugins.jquery.com/project/cors

(3) स्रोत: saltybeagle.com/2009/09/cross-origin -resource साझा करने संबंधी डेमो/

(4) स्रोत: www.html5rocks.com/en/tutorials/cors/

(5) स्रोत: github.com/saltybeagle/cors

यह भी ध्यान रखें : www.jaanga.com/2012/04/access-cross-origin-images-from.html

1

मैं इसी तरह की त्रुटि के साथ ब्लॉक किया गया था जब मैं वीडियो विशेषता के बजाय "crossorigin" के "crossOrigin" सेटिंग था .... जैसे ही मैं सब कुछ लोवरकेस, यह शुरू कर दिया: और एक अधिक कॉम्पैक्ट परीक्षण का मामला बनाया काम कर रहे।

+0

दस्तावेज़ देखें: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video –

संबंधित मुद्दे