2011-02-10 19 views
10

Mam film na YouTube embedded on my site using an iFrame. Chcę używać the API aby wstrzymać wideo, ale w Chrome pojawia się błąd:Jak korzystać z interfejsu API serwisu iFrame w przeglądarce Chrome i przeglądarce Firefox?

Unsafe JavaScript attempt to access frame with URL http://subdomain.example.com/ from frame with URL http://www.youtube.com/embed/KmtzQCSh6xk?enablejsapi=1&origin=http://subdomain.example.com. Domains, protocols and ports must match. 

W Firefox (3.6) otrzymuję ten błąd:

Permission denied for <http://www.youtube.com> to call method Location.toString on <http://subdomain.example.com>. 

próbowałam umieszczenie w iFrame siebie lub dodanie go za pomocą interfejsu API. Tak czy owak gracz wchodzi, ale nie mam nad nim kontroli API.

Tutaj jest odpowiednia część mojego kodu:

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

<script type="text/javascript"> 
var tag = document.createElement('script'); 
tag.src = "http://www.youtube.com/player_api"; 
var firstScriptTag = document.getElementsByTagName('script')[0]; 
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

var player; 
function onYouTubePlayerAPIReady() { 
    player = new YT.Player('player', { 
     height: '433', 
     width: '731', 
     videoId: 'KmtzQCSh6xk' 
     }); 
} 

$("#pause_button").click(function(){ 
    alert("Pausing " + player);//is undefined :(
    player.pauseVideo(); 
}); 

</script> 

Jak uzyskać przeglądarki, aby umożliwić dostęp do YouTube iFrame ramę główną moją stronę za?

Dzięki!

Odpowiedz

6
  1. Zignoruj ​​te ostrzeżenia. Gracz powinien nadal działać dobrze, niezależnie od tego.

  2. Użyj ostatnio wprowadzonego JavaScript Player API for iframe embeds.

+1

Nadal dostaję błąd przy użyciu JavaScript Player API dla osadzeń iframe. Próbowałem nawet ich kodu na ich placu zabaw z przeglądarką. – Josh

Powiązane problemy