2017-12-25 92 views
8

मैं क्रोम एक्सटेंशन विकसित कर रहा हूं और मैं youtube-iframe-api का उपयोग कर रहा हूं।क्या यूट्यूब-इफ्रेम-एपीआई में रेफरर सेट करने का कोई तरीका है?

नीचे दिए गए कोड द्वारा बनाई गई प्लेयर कुछ सीमित (?) वीडियो जैसे vevo को छोड़कर किसी भी वीडियो को चला सकती है।

function onYouTubeIframeAPIReady() { 
    player = new YT.Player('player', { 
    height: '300px', 
    width: '800px', 
    videoId: 'RhU9MZ98jxo', 
    playerVars: { 
    'origin': 'https://www.youtube.com', 
    'wmode': 'opaque' 
    }, 
    events: { 
    'onReady': onPlayerReady, 
    'onStateChange': onPlayerStateChange 
    } 
}); 
}; 

मैं playerVars में मूल और wmode जोड़ा क्योंकि मैं कुछ जवाब है कि वे समस्या का समाधान कर सकते हैं मिल गया था। लेकिन वे काम नहीं किया।

मैं सोच रहा हूँ कि यह एम्बेड यूट्यूब खिलाड़ी (आइफ्रेम)

+0

मैं पिछले सप्ताह के अंत में इस समस्या के समाधान पर भी काम करने की कोशिश कर रहा हूं और लाभ नहीं उठा रहा हूं, हर हेडर अनुरोध मूल स्थान पर वापस आ जाता है जो ब्लॉक होने के कारण होता है। – simon

+1

मुझे नहीं लगता कि यह संभव है। मुझे लगता है कि समस्या यह है कि जब आप आईफ्रेम एम्बेड करते हैं तो http रेफरर ब्राउज़र द्वारा स्वयं सेट होता है, अन्यथा यह एक सुरक्षा उल्लंघन होगा। यदि कोई इससे निपटने के इच्छुक है तो मैं गलत होने के लिए खुश हूं। मैंने एक उपहार दिया है। – simon

+0

वे शायद आईफ़्रेम – charlietfl

उत्तर

5

मैं यूट्यूब API दस्तावेज़ों में प्रदान की जाती उदाहरण का उपयोग करके w3schools ' "Try it yourself" में एक Vevo वीडियो चलाने में कामयाब साथ Vevo वीडियो खेलने के लिए संभव है:

<div id="player"> 
</div> 

<script> 
     // 2. This code loads the IFrame Player API code asynchronously. 
     var tag = document.createElement('script'); 

     tag.src = "https://www.youtube.com/iframe_api"; 
     var firstScriptTag = document.getElementsByTagName('script')[0]; 
     firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

     // 3. This function creates an <iframe> (and YouTube player) 
     // after the API code downloads. 
     var player; 
     function onYouTubeIframeAPIReady() { 
     player = new YT.Player('player', { 
      height: '390', 
      width: '640', 
      videoId: 'tWQPbHXyoFQ', 
      events: { 
      'onReady': onPlayerReady, 
      'onStateChange': onPlayerStateChange 
      } 
     }); 
     } 

     // 4. The API will call this function when the video player is ready. 
     function onPlayerReady(event) { 
     event.target.playVideo(); 
     } 

     // 5. The API calls this function when the player's state changes. 
     // The function indicates that when playing a video (state=1), 
     // the player should play for six seconds and then stop. 
     var done = false; 
     function onPlayerStateChange(event) { 
     if (event.data == YT.PlayerState.PLAYING && !done) { 
      setTimeout(stopVideo, 6000); 
      done = true; 
     } 
     } 
     function stopVideo() { 
     player.stopVideo(); 
     } 
    </script> 

क्या होता है जब आप Vevo वीडियो खेलने की कोशिश? आपको क्या त्रुटियां या संदेश मिलते हैं?

एक यूट्यूब अपलोडर के रूप में, आपके पास यूट्यूब के अलावा अन्य वेबसाइटों में एम्बेड किए जाने से वीडियो को अस्वीकार करने का विकल्प है, इन मामलों में आप वास्तव में इसके बारे में कुछ भी नहीं कर सकते हैं।

+0

त्रुटि यहां है। इस वीडियो में वेवो से सामग्री शामिल है। यह कुछ साइटों या अनुप्रयोगों पर प्लेबैक से प्रतिबंधित है। YouTube –

+0

पर देखें जब आप इसे w3schools पर करते हैं, तो शीर्षलेख के संदर्भकर्ता को 'w3schools' के रूप में चिह्नित किया जाता है। जब आप इसे स्थानीय रूप से करते हैं, तो यह स्थानीयहोस्ट में मैप किया जाता है जो संभवतः यूट्यूब द्वारा सफेद या ब्लैकलिस्ट किया जा रहा है। – simon

+0

हाँ ... यह वीईवीओ में जितना संभव हो सके अपनी सामग्री को प्रतिबंधित करने वाले बेवकूफ होंगे। यदि आपको रेफरर हेडर को क्रोम स्पूफ बनाने का कोई तरीका नहीं मिल रहा है, तो आपको एक संपूर्ण टैब पेज को एक नए टैब में खोलना होगा, जो शायद आप नहीं चाहते थे। – BoffinbraiN

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