2012-05-21 15 views
6

मेरे पास एक एम्बेडेड फ्लैश फ़ाइल वाला एक सरल HTML-साइट है और उस पर SWFobject का उपयोग किया जाता है।iFrame के अंदर SWFobject: क्रॉस डोमेन सामग्री?

यह साइट एक आईफ्रेम का स्रोत है। अगर मैं उस पर आइफ्रेम सांत्वना मुझसे कहता है के साथ साइट ...

Unsafe JavaScript attempt to access frame with URL file:///experiment/iframe- 
test/index.html from frame with URL http://localhost.lan/embed/GYZA. Domains, 
protocols and ports must match. -> swfobject.js 

खोलने मुझे आश्चर्य है कि क्या माता पिता खिड़की (उस में आइफ्रेम के साथ) iframe के भीतर swfobjet के साथ क्या करना है? तो ऊपर वर्णित अनुसार swfobject का उपयोग बच्चे के पृष्ठ पर फ्लैश को एम्बेड करने के लिए किया जाता है जो आईफ्रेम में लोड होता है। iframe-test/index.html साइट पर बस है ...

<body> 
    <iframe src="http://localhost.lan/embed/GYZA" width="100%" height="100%" frameborder="0" allowfullscreen></iframe> 
</body> 

... इस पर। और कुछ नहीं। मेरे पास unsafe javascript attempt here क्यों है?

उस पर कोई विचार? पहले ही, आपका बहुत धन्यवाद।

अद्यतन: ठीक है, मुझे अभी पता चला है कि यह यूट्यूब और वीमियो के साथ-साथ उनके एम्बेडेड खिलाड़ियों के लिए भी होता है। मैं क्रोम कंसोल का उपयोग कर रहा हूं और यूट्यूब और वीमियो के लिए एक ही त्रुटि होती है।

उत्तर

0

पता नहीं है कि यह अब किसी भी प्रयोग का है लेकिन त्रुटि फेंक दी गई है क्योंकि file:///experiment/iframe-test/index.html और http://localhost.lan/embed/GYZA ब्राउज़र द्वारा दो अलग-अलग डोमेन के रूप में देखा जाता है ताकि ब्राउजर की क्रॉस डोमेन नीति इस असुरक्षित को समझ सके। उपयोगकर्ता के ब्राउज़र पर निर्भर करता है, यह असुरक्षित हो सकता है - आपके द्वारा लोड किए जा रहे रिमोट पेज में हानिकारक स्क्रिप्ट हो सकती हैं जो आपके द्वारा देखे जा रहे वर्तमान पृष्ठ को अस्थिर कर सकती हैं या जानकारी के विभिन्न टुकड़ों को आजमा सकते हैं। आप अधिक जानकारी here पा सकते हैं।

0

मैंने मैट के अद्यतन प्रश्न को अभी मान्य किया है।

जब भी एक फ्लैश ऑब्जेक्ट को क्रॉस-डोमेन आईफ्रेम में एम्बेड किया जाता है, तो यह एक क्रॉस-डोमेन अपवाद फेंक देगा। यह यूट्यूब और Vimeo के लिए सच है। http://jsfiddle.net/bkCdB/

<object width="420" height="315"><param name="movie" value="http://www.youtube.com/v/6V_DsL1x1uY?version=3&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/6V_DsL1x1uY?version=3&amp;hl=en_US" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object> 
:

उदाहरण के लिए, एक iFrame एम्बेडेड के साथ इस jsfiddle की जाँच

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