2012-10-27 12 views
43

उपयोग करने के लिए मैं इस कोड और Firebug में यह त्रुटि है से इनकार किया:यूट्यूब कोड एम्बेड करने से यूआरएल बदलें - त्रुटि: अनुमति संपत्ति 'toString'

Error: Permission denied to access property 'toString'

मैं इस त्रुटि को कैसे ठीक कर सकते हैं?

HTML:

<div class="yturl">http://www.youtube.com/watch?v=UNMLEZrukRU</div> 

जे एस:

$("div.yturl").each(function(){ 
    var regex = /(\?v=|\&v=|\/\d\/|\/embed\/|\/v\/|\.be\/)([a-zA-Z0-9\-\_]+)/; 
    var youtubeurl = $(this).text(); 
    var regexyoutubeurl = youtubeurl.match(regex); 
    if (regexyoutubeurl) 
    { 
     $(this).html("<iframe width=\"390\" height=\"315\" src=\"http://www.youtube.com/embed/"+regexyoutubeurl[2]+"\" frameborder=\"0\" allowfullscreen></iframe>"); 
    } 
}); 

डेमो:http://jsfiddle.net/9e48p/

+0

फ़ायरफ़ॉक्स और फ़ायरबग के कौन से संस्करण आप उपयोग कर रहे हैं? –

+0

फ़ायरबग 1.10.5।, एफएफ 16.0.2 – JohnMalcom

+1

जब मैं क्रोम में डेमो फ़ाइल खोलता हूं, तो क्रोम में जेएस कंसोल एक त्रुटि संदेश भी दिखाता है: "असुरक्षित जावास्क्रिप्ट यूआरएल के साथ फ्रेम तक पहुंचने का प्रयास करता है http://jsfiddle.net/ URL के साथ फ्रेम से 9e48p/http://www.youtube.com/embed/UNMLEZrukRU। डोमेन, प्रोटोकॉल और बंदरगाहों का मिलान होना चाहिए। " –

उत्तर

67

त्रुटि या तो एडोब की फ़्लैश प्लेयर टीम या Google इंजीनियरों द्वारा तय की जा सकती है - आपको इसे अभी अनदेखा करना चाहिए। यह फ्लैश प्लेयर सुरक्षा सेटिंग्स और यूट्यूब पेज में एम्बेडेड एसडब्ल्यूएफ फ़ाइल से जुड़ा हुआ है। समस्या reported in the past by IBM रही है, और Mozilla Bugzilla entry भी है।

जब मैं फ़ायरफ़ॉक्स 16.0.2 में फ़्लैश प्लेयर को निष्क्रिय करता हूं, तो त्रुटि संदेश गायब हो जाता है। टिप्पणी की जांच # 37: बग के रूप में हल हो गई, परीक्षण का मामला संलग्न https://bug434522.bugzilla.mozilla.org/attachment.cgi?id=321956 नवीनतम Firefox संस्करण में एक ही त्रुटि संदेश पैदा करता है चिह्नित है https://bugzilla.mozilla.org/show_bug.cgi?id=434522#c37

For what it's worth, I'm seeing this bug happen when any flash file, even ones that have NO actionscript calls (ExternalInterface, etc) in them at all, is loaded into an iframe on a page where the page domain and the iframe domain are different. This means that the iframe problem is caused when there is in fact a cross-domain situation in place. However, it's not totally clear if there's really actually attempting to be a cross-domain call that should be prevented and error'd out.

Because it's nothing that the flash SWF itself is trying to call to do "Location.toString", and it's nothing about the javascript on the page doing it, the only choice is that there's something about the flash plugin itself (9.0.124 is what I'm testing with) that's trying to make that call up to the parent/top window to do Location.toString().

जबकि (दोनों Firebug कंसोल, या Firefox त्रुटि कंसोल विंडो में) ।

अद्यतन:
बग के साथ Adobe रूप में अच्छी तरह दायर की गई है वर्ष बग डेटाबेस में: FP-561 "Location.toString" uncaught (security) exception caused by improper Flash plugin behavior (आप बग विवरण देखने के लिए एक खाते की आवश्यकता)। बग बंद होने पर आखिरी टिप्पणी:

Tested with the latest Flash Player 10.3.181.34 on Firefox 4 and 5, no such exception was thrown. So the bug may have been fixed, right? If you still meet this issue, please file a bug in our new bug system https://bugbase.adobe.com/ and put a link in the new bug to this original JIRA report. We are happy to follow up your report in the new bug system.

+5

यह बताएगा कि फ्लैश प्लेयर समस्या का कारण बनने पर जावास्क्रिप्ट त्रुटि के लिए कोई लाइन नंबर क्यों प्रदर्शित नहीं किया गया है। –

+1

बगजिला में तिथियां वास्तव में भ्रमित है। इसकी रिपोर्ट 2008 में हुई और आखिरी बार 200 9 में संशोधित हुई। बग की स्थिति हल हो गई है और कुछ समय के लिए इस बग के तहत कोई टिप्पणी नहीं है। – Foreever

+2

बगज़िला टिकट दो नए टिकटों के तहत फिर से खोल दिया गया है: [# 385676] (https://bugzilla.mozilla.org/show_bug.cgi?id=385676) और [# 1015700] (https://bugzilla.mozilla.org /show_bug.cgi?id=1015700) पुराने टिकट लिंक को देखने वाले किसी भी व्यक्ति को यह बंद/"निश्चित" दिखाई देगा, लेकिन इसके बारे में अधिक जानकारी प्राप्त करने के लिए टिप्पणियों में नीचे स्क्रॉल करें। – Sean

1

कि इस मुद्दे को एक विस्तार है जो ठीक से काम नहीं कर रहा है की वजह से हो सकता है।

सुरक्षित मोड का उपयोग करके फ़ायरफ़ॉक्स समस्याओं को हल करने में फ़ायरफ़ॉक्स प्रारंभ करें यह जांचने के लिए कि एक्सटेंशन में से कोई एक या हार्डवेयर त्वरण समस्या का कारण बन रहा है (DEFAULT विषय पर स्विच करें: फ़ायरफ़ॉक्स/उपकरण> ऐड-ऑन> उपस्थिति/थीम्स)।

2

आपके इफ्रेम यूआरएल कन्स्ट्रक्टर के साथ कुछ गलत हो सकता है। त्रुटि को यूट्यूब स्क्रिप्ट में फेंक दिया जा रहा है जो इफ्रेम में लोड होता है। वही त्रुटि एक harcoded HTML iframe जो गतिशील रूप से अपनी स्क्रिप्ट

<iframe width="390" height="315" src="http://www.youtube.com/embed/UNMLEZrukRU" frameborder="0" allowfullscreen></iframe> 

HTML संस्करण केवल डेमो के साथ नहीं जोड़ा जाता के साथ फेंक दिया जाता है http://jsfiddle.net/Lgt5f/

डबल जाँच यूआरएल कोई पैरामीटर मौजूद नहीं है, अन्यथा मैं जाँच करेगा यूट्यूब समर्थन संसाधन

0

उस त्रुटि को अनदेखा करें, यह आपके कोड से संबंधित नहीं है। बस एक ब्राउज़र बग।

+1

एर, नहीं, यह सिर्फ ब्राउज़र बग नहीं है। – ggdx

48

इस त्रुटि को अनदेखा न करें क्योंकि यह आपके कोड से सीधे संबंधित नहीं है।

ऐसा लगता है जब आपका एम्बेड प्रारंभिक रूप से छुपा हुआ है।

बस अपने एम्बेड यूआरएल में ?html5=1 जोड़ें। आईई 8 अभी भी फ्लैश संस्करण लेगा। या यूट्यूब एपीआई के साथ अपने वीडियो लोड करें।

+0

यह मेरी समस्या तय है। धन्यवाद – DreamWave

+1

आप सर सही हैं। आपकी सहायता के लिए धन्यवाद. –

+1

बकाया। डब्ल्यूटीएफ सभी एडोब इंजीनियरों थे और आईबीएम बीएस द्वारा रिपोर्ट किए गए "स्वीकृत" उत्तर में पोस्ट किया गया था? – ggdx

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