Fixed
Status Update
Comments
je...@google.com <je...@google.com> #2
The engineering team has identified an issue that is preventing the iframe API from functioning at the moment. They have traced the root cause to a disruption caused by an ongoing server-side push, and once that push is fully complete, the JavaScript errors should completely subside. It will likely be several more hours before the push is complete, unfortunately.
This is not expected to be a regular occurrence, and we apologize for the inconvenience caused by this outage.
This is not expected to be a regular occurrence, and we apologize for the inconvenience caused by this outage.
je...@google.com <je...@google.com> #20
I'm going to leave this bug open until we can confirm that this is resolved, but I wanted to update folks: The push is very close to completion. Could a few folks test again (in an Incognito window or after clearing browser cache, ideally) and let us know if you're seeing the expected functionality? Things are currently working for me at https://developers.google.com/youtube/youtube_player_demo for instance.
[Deleted User] <[Deleted User]> #21
Thanks for the update
We are seeing functions like playVideo() and pauseVideo() working now, however we are not getting callbacks from the "onStateChange" event
We are seeing functions like playVideo() and pauseVideo() working now, however we are not getting callbacks from the "onStateChange" event
[Deleted User] <[Deleted User]> #22
The player issue with loadVideoById appears to be fixed.
However the player is now not calling onStateChange for any events! Shall I file a new issue about this?
However the player is now not calling onStateChange for any events! Shall I file a new issue about this?
ma...@gmail.com <ma...@gmail.com> #23
Rather than completely erroring out, my app is now improved but not back to expected/normal functionality. In particular, videos are playing again but my custom controls aren't noticing that playback has started, so I'm guessing some player events aren't quite firing right? Looking into it.
gu...@chromatik.com <gu...@chromatik.com> #24
Same here, no state change events fired.
ma...@gmail.com <ma...@gmail.com> #25
onStateChange has been broken the whole time, even though it wasn't mentioned in the issue report..
ti...@gmail.com <ti...@gmail.com> #26
It was mentioned in some of the many other tickets that were merged into this ticket.
br...@coincident.tv <br...@coincident.tv> #27
[Comment deleted]
da...@electroteque.org <da...@electroteque.org> #28
Hi there was a code break, then it was removed just now but now events are still not working. Playback can begin with playVideo but no statechange event is working.
je...@google.com <je...@google.com> #29
Thanks for responding.
It sounds like the issue with JavaScript execution errors ("Array.prototype.forEach called on null or undefined") is resolved following the push, but there's still an outstanding issue with the onStateChange() handler not being properly invoked.
The Players API engineering team is aware of that issue as well and is working on a resolution—at this time, it's not clear whether the fix for onStateChange() will be pushed out tonight (June 12) or if it will be pushed out tomorrow.
I'm going to leave this issue open to track the resolution of onStateChange() not firing.
It sounds like the issue with JavaScript execution errors ("Array.prototype.forEach called on null or undefined") is resolved following the push, but there's still an outstanding issue with the onStateChange() handler not being properly invoked.
The Players API engineering team is aware of that issue as well and is working on a resolution—at this time, it's not clear whether the fix for onStateChange() will be pushed out tonight (June 12) or if it will be pushed out tomorrow.
I'm going to leave this issue open to track the resolution of onStateChange() not firing.
je...@google.com <je...@google.com> #31
There is a workaround for those who need an immediate fix: calling
addEventListener('onStateChange', callbackFunction)
on the YT.Player object *after* the onReady callback has been invoked should mimic the broken functionality. There's a working example athttp://jsfiddle.net/jeffposnick/yhWsG/3/
That being said, supplying the onStateChange callback as part of the events object in the YT.Player constructor will start working again as soon as the fix is deployed.
addEventListener('onStateChange', callbackFunction)
on the YT.Player object *after* the onReady callback has been invoked should mimic the broken functionality. There's a working example at
That being said, supplying the onStateChange callback as part of the events object in the YT.Player constructor will start working again as soon as the fix is deployed.
je...@gmail.com <je...@gmail.com> #32
I've tested on many browsers and from my perspective the issue was resolved around 5:00pm PST. I was in the middle of a record traffic day, so, THANKS YT TEAM!!!!
ma...@gmail.com <ma...@gmail.com> #33
Thanks for the workaround - that seems to be working.
ki...@gmail.com <ki...@gmail.com> #34
Are you sure, is onStateChange callback woking???. My end, it seems not working..
[Deleted User] <[Deleted User]> #35
Yes, the workaround works.
[Deleted User] <[Deleted User]> #36
The workaround does not seems to work either on our side. The error is now solved so we are getting the last version.
in...@swipeware.com <in...@swipeware.com> #37
[Comment deleted]
in...@swipeware.com <in...@swipeware.com> #38
I have a mobile app which uses the iframe API. In addition to the onStateChange no firing, I'm also experiencing problems with the Flash version not playing at all if the browser doesn't support HTML5. The video thumbnail displays properly and when tapped, the spinner spins for a few seconds and then just stops without playback.
ma...@gmail.com <ma...@gmail.com> #39
...and I can also report that the onStateChange workaround on the player object, posted above, doesn't work for me either.
mo...@gmail.com <mo...@gmail.com> #40
PlayerState is not working, maybe we're late here in Europe ?
still have an issue on www-widgetapi-vflwt8QCF.js:22
still have an issue on www-widgetapi-vflwt8QCF.js:22
lo...@musixmatch.com <lo...@musixmatch.com> #41
I confirm that we have this issue both on the PT timezone than the GMT time zone. This cause any html5 video player and embedded html5 video players to break. Please fix.
lo...@musixmatch.com <lo...@musixmatch.com> #42
[UPDATE] 00.58 PT the issue is not fixed yet. The workaround seems to works. Just set the event listener for 'onStateChange' after the 'onReady' method.
mo...@gmail.com <mo...@gmail.com> #43
The workaround works - in my case after I made sure to configure *only* the onReady attribute in the "events" object, exactly as in the Fiddle.
Question to Youtube: will this workaround work after you finalize the fix? Should the code change be permanent? And as a side note: This is a catastrophic bug in your recommended embedding code..... I'm frankly stunned that the most basic testing was not done prior to your code upgrade. I was lucky to be pre-launch on my site........
Question to Youtube: will this workaround work after you finalize the fix? Should the code change be permanent? And as a side note: This is a catastrophic bug in your recommended embedding code..... I'm frankly stunned that the most basic testing was not done prior to your code upgrade. I was lucky to be pre-launch on my site........
lo...@musixmatch.com <lo...@musixmatch.com> #44
I agree. This caused us a severe crash in the embedded video player and potentially it just destroy any embedded html5 video player preventing to work.
I assume that patching the "onstatechange" with the workaround it should not cause problems when the fix is done, since it's javascript, you are just overwriting the event handler for the same event, but at two different times.
I assume that patching the "onstatechange" with the workaround it should not cause problems when the fix is done, since it's javascript, you are just overwriting the event handler for the same event, but at two different times.
sh...@gmail.com <sh...@gmail.com> #45
The addEventListener workaround doesn't work for everyone. With the workaround you'll miss the UNSTARTED player state. In my case, my code (currently) depends on seeing that event.
in...@swipeware.com <in...@swipeware.com> #46
I can confirm that I finally got the workaround to work (thanks to comment #44 above). The trick is you must *remove* the onStateChange statement from the event object in the YT.player constructor.
in...@swipeware.com <in...@swipeware.com> #47
The iframe API still doesn't serve Flash video in mobile browsers (Android) that have Flash installed and don't support HTML5. As I wrote earlier, the video thumbnail displays properly and when tapped, the spinner spins for a few seconds and then just stops without playback.
It's been working flawlessly for months up until this whole iframe-API issue started.
It's been working flawlessly for months up until this whole iframe-API issue started.
cf...@gmail.com <cf...@gmail.com> #48
For me it's not working console.log("onStateChange has fired!\nNew state:" + event.data); is totally empty
cf...@gmail.com <cf...@gmail.com> #49
Here an example which I use and doesn't work anymore
http://jsfiddle.net/YzvXa/197/
[Deleted User] <[Deleted User]> #50
onStateChange not working for me either.
[Deleted User] <[Deleted User]> #51
Come on Google, how hard is it to tweak a line or two of JS.
ja...@gmail.com <ja...@gmail.com> #52
@#52/da...@torchbox.com
You obviously never deployed to hundreds of servers and/or to millions (and even billions) of clients.
You obviously never deployed to hundreds of servers and/or to millions (and even billions) of clients.
lo...@musixmatch.com <lo...@musixmatch.com> #53
"You obviously never deployed to hundreds of servers and/or to millions (and even billions) of clients."
Uhm...fix the text javascript file, upload to cdn. Wait 24-48h. What else?
Uhm...fix the text javascript file, upload to cdn. Wait 24-48h. What else?
em...@gmail.com <em...@gmail.com> #54
onStateChange not working for me over here.
an...@gmail.com <an...@gmail.com> #55
onStateChange still not working, but the fix #31 luckily does
ch...@gmail.com <ch...@gmail.com> #56
onStateChange still not working in Cambodia...
ad...@holovaty.com <ad...@holovaty.com> #57
Haven't seen anybody mention this: the onPlaybackRateChange callback isn't working either.
de...@gmail.com <de...@gmail.com> #58
onStateChange still not working !!!!!
me...@gmail.com <me...@gmail.com> #59
I, too, continue to experience issues with the API.
I do have a question, though. It would appear that most problems have transitioned to onStateChange not firing. I continue to receive the following error:
"Uncaught TypeError: Array.prototype.forEach called on null or undefined "
My understanding is that this issue was resolved yesterday. I'm wondering how I can get my extension to "move on" to the next error. I have wiped my settings back to the start of time, uninstalled/reinstalled the extension and unpublished/published from the web store.
Are there any other course of actions I should be taking?
I do have a question, though. It would appear that most problems have transitioned to onStateChange not firing. I continue to receive the following error:
"Uncaught TypeError: Array.prototype.forEach called on null or undefined "
My understanding is that this issue was resolved yesterday. I'm wondering how I can get my extension to "move on" to the next error. I have wiped my settings back to the start of time, uninstalled/reinstalled the extension and unpublished/published from the web store.
Are there any other course of actions I should be taking?
br...@gmail.com <br...@gmail.com> #60
The workaround did not work for me. But I was able to find a solution by periodically polling 'getPlayerState()'. If you're going to try that, remember not to set up polling until 'onReady', because 'getPlayerState' won't exist before that event fires.
[Deleted User] <[Deleted User]> #61
If you're trying the workaround and it's not working, make sure you've commented out the previous 'onStateChange' event that was already in your code
ch...@charliestigler.com <ch...@charliestigler.com> #62
Just to make a quick point here, about 20 hours after this outage started... Google encourages people to build entire products around their YouTube APIs -- as we have done.
I think if they want anybody to actually build a product largely based around YouTube APIs, they need to move the standard of maintenance and uptime higher. Our product has been unusable for the last 20 hours. If this were any other of our critical infrastructure providers (AWS, Heroku, MongoHQ, etc.) this would be a huge deal: they would be in panic mode and updating us as much as possible as they rushed to a solution. Instead we get this. And this isn't the first time this has happened... the last Player API outage, which I reported, was only a couple of months ago.
Of course Google provides this service for free, and I'm glad for that. But it's difficult to build a site on a service that seems to place little priority on availability. If that involved paying a small fee for a version of the Player API that stayed up, I think it would be a no-brainer for us. For now we will continue to diversify our video source options, but I hope in the future we will be able to trust the YouTube APIs to stay available.
I think if they want anybody to actually build a product largely based around YouTube APIs, they need to move the standard of maintenance and uptime higher. Our product has been unusable for the last 20 hours. If this were any other of our critical infrastructure providers (AWS, Heroku, MongoHQ, etc.) this would be a huge deal: they would be in panic mode and updating us as much as possible as they rushed to a solution. Instead we get this. And this isn't the first time this has happened... the last Player API outage, which I reported, was only a couple of months ago.
Of course Google provides this service for free, and I'm glad for that. But it's difficult to build a site on a service that seems to place little priority on availability. If that involved paying a small fee for a version of the Player API that stayed up, I think it would be a no-brainer for us. For now we will continue to diversify our video source options, but I hope in the future we will be able to trust the YouTube APIs to stay available.
jo...@gmail.com <jo...@gmail.com> #63
First of all, I just want to acknowledge the gigantic task that the YouTube team is up against with thousands of servers and 1 billion users. It's definitely no easy technical challenge.
Second, given the enormity of YouTube and the ecosystem of 3rd party developers relying and making a living on YouTube's platform, I'm thinking about what steps could be taken to improve the deployment process for everyone and reduce the occurance of crisis situations like this one in the future.
(Our app has more than a million users and we get a lot of angry users each time this happens, and I've had to wake up my team members at 3am in Asia twice in the last 30 days to handle the sudden crises, which are causing a lot strains internally)
Here are my two cents about possible process improvements, and I hope other with more experience than I do can weigh in as well with better ideas:
1. STAGING SITE URL
Instead of deploying new code directly to the live site, make new code pushes available at a staging URL one week in advance, before deploying to live site. This will give us 3rd-party developers at least one week's buffer time to test our app compatibility and help debug if necessary, instead of finding out AFTER the fact when our apps break.
2. AUTO-TEST SCRIPTS
I'm pretty sure there'd be something in place already, but somehow it didn't catch the full javascript breakdown earlier on yesterday, and then even after it was supposedly fixed, we then realize that onStateChange doesn't work. If an auto-test script can be incorporated into the deployment process to test each server after code-push before bringing it live into the server fleet, we can prevent future crises like this one.
Just my two cents.
John.
Second, given the enormity of YouTube and the ecosystem of 3rd party developers relying and making a living on YouTube's platform, I'm thinking about what steps could be taken to improve the deployment process for everyone and reduce the occurance of crisis situations like this one in the future.
(Our app has more than a million users and we get a lot of angry users each time this happens, and I've had to wake up my team members at 3am in Asia twice in the last 30 days to handle the sudden crises, which are causing a lot strains internally)
Here are my two cents about possible process improvements, and I hope other with more experience than I do can weigh in as well with better ideas:
1. STAGING SITE URL
Instead of deploying new code directly to the live site, make new code pushes available at a staging URL one week in advance, before deploying to live site. This will give us 3rd-party developers at least one week's buffer time to test our app compatibility and help debug if necessary, instead of finding out AFTER the fact when our apps break.
2. AUTO-TEST SCRIPTS
I'm pretty sure there'd be something in place already, but somehow it didn't catch the full javascript breakdown earlier on yesterday, and then even after it was supposedly fixed, we then realize that onStateChange doesn't work. If an auto-test script can be incorporated into the deployment process to test each server after code-push before bringing it live into the server fleet, we can prevent future crises like this one.
Just my two cents.
John.
rs...@sharethrough.com <rs...@sharethrough.com> #64
We're also not seeing onStateChange working.
[Deleted User] <[Deleted User]> #65
Hi,
Someone have posted a fix that work for me. It is based on polling like someone has suggested before.
Here is a sample that you can use (to set after onPlayerReady has been called):
setInterval( function
() {
var state = player.getPlayerState();
if ( playerState !== state ) {
onPlayerStateChange( {
data: state
} );
}
}, 10 );
Someone have posted a fix that work for me. It is based on polling like someone has suggested before.
Here is a sample that you can use (to set after onPlayerReady has been called):
setInterval( function
() {
var state = player.getPlayerState();
if ( playerState !== state ) {
onPlayerStateChange( {
data: state
} );
}
}, 10 );
ma...@gmail.com <ma...@gmail.com> #66
The lack of proper eventing is still causing tons of trouble for our app -- any ETA on a fix, Googlers?
th...@gmail.com <th...@gmail.com> #67
onError is not firing either - just thought I'd let you know. Manually adding an event listener will fix this same as onStateChange.
[Deleted User] <[Deleted User]> #68
onStateChange is still not firing for me either. Having lots of complaints about it with my product - can we expecta fix anytime soon?
je...@google.com <je...@google.com> #69
The code to restore the previous onStateChange behavior is underway, and should be complete within the next few hours.
Apologies again for the breakage that this caused. Folks should probably hold off on implementing any workarounds at this point, since the restoration of the old, documented behavior is imminent.
If you have already changed you code to, say, explicitly call addEventListener(), that *should* continue to work, but I'd recommend switching things back to the original approach, as it's cleaner.
Apologies again for the breakage that this caused. Folks should probably hold off on implementing any workarounds at this point, since the restoration of the old, documented behavior is imminent.
If you have already changed you code to, say, explicitly call addEventListener(), that *should* continue to work, but I'd recommend switching things back to the original approach, as it's cleaner.
sh...@gmail.com <sh...@gmail.com> #70
Jeff Posnick posted a temporary workaround here:
Basically, you just need to add the event listener within the onReady event (just a temporary fix):
function onReady() {
player.addEventListener('onStateChange', function(e) {
console.log('State is:', e.data);
});
}
lo...@musixmatch.com <lo...@musixmatch.com> #71
I confirm now that on the PT the onStateChange now works again. 8 hours debugging. 2 hours updating the cdn with the hot fix. Now back. Very funny.
[Deleted User] <[Deleted User]> #72
+1 to apps that were all but unusable for almost 24 hours. Will be very glad when all the serving CDN endpoints are updated.
I'm curious about this: Was this handled as high priority? My gut tells me that if it were Ads that weren't working (in embeds), it would have been resolved by now. Perhaps even by rolling back the breaking changes and re-pushing when ready (bug-free). Am I too much of a cynic?
I'm curious about this: Was this handled as high priority? My gut tells me that if it were Ads that weren't working (in embeds), it would have been resolved by now. Perhaps even by rolling back the breaking changes and re-pushing when ready (bug-free). Am I too much of a cynic?
ar...@gmail.com <ar...@gmail.com> #73
Can you confirm that a fix is being rolled out soon?
de...@eyestalks.com <de...@eyestalks.com> #74
onReady and onStateChange are still not working for us.
gs...@gmail.com <gs...@gmail.com> #75
Still not working for us too.
We have an iPhone/iPad app so there is no option for workarounds.
We have an iPhone/iPad app so there is no option for workarounds.
cf...@gmail.com <cf...@gmail.com> #76
[Comment deleted]
cf...@gmail.com <cf...@gmail.com> #77
de...@eyestalks.com <de...@eyestalks.com> #78
Fix #31 and 71, thank you guys for the workaround.
de...@eyestalks.com <de...@eyestalks.com> #79
confirmed that onStateChange is working!
je...@google.com <je...@google.com> #80
Glad to hear that some folks have already confirmed that the previous onStateChange syntax is working agian.
My understanding is that the push isn't globally complete yet, so your continued patience is appreciated. Testing in an Incognito window or after clearing your browser cache is also a good idea.
My understanding is that the push isn't globally complete yet, so your continued patience is appreciated. Testing in an Incognito window or after clearing your browser cache is also a good idea.
lo...@musixmatch.com <lo...@musixmatch.com> #81
On the iphone/ipad what you can do is to force the javascript to call that function from the objectiveC code ;) It works I tried.
je...@google.com <je...@google.com> #82
Okay, I'm told that the push is complete. Please allow for some additional time for browser caches to clear (unless you're testing with a clean cache). I just confirmed that assigning an onStateChange handler in the documented fashion is working again, and others are reporting the same thing. I'm going to mark this as Fixed.
If there's anyone who was seeing any issue unrelated to onStateChange handlers and can still reproduce it, I'd ask that you please open a new bug so that we can track that independently. Thanks, and apologies again.
If there's anyone who was seeing any issue unrelated to onStateChange handlers and can still reproduce it, I'd ask that you please open a new bug so that we can track that independently. Thanks, and apologies again.
de...@gmail.com <de...@gmail.com> #83
Neither onReady nor onStateChange is working for me in Firefox
fl...@gmail.com <fl...@gmail.com> #84
Sorry but 'onStateChange' is not working to me. I'm based in the UK.
ab...@gmail.com <ab...@gmail.com> #85
I just cleared cache and tried it out, onStateChange did fire for me.
mi...@gmail.com <mi...@gmail.com> #87
Is this issue considered resolved? It appears to me to not be working completely -service is quite a bit slower and 'onStateChange' isn't received as reliably as before this issue. In particular, it isn't fired when I play the first song of a playlist, but usually (not always) is fired as it moves to new items in the list.
sh...@gmail.com <sh...@gmail.com> #88
I have to confirm some of Michael Stephenson's findings. With the current behavior, there is no onStateChange({data: -1 /* UNSTARTED */}) event prior to the onReady event.
pa...@gmail.com <pa...@gmail.com> #89
In the Delphi TWebbrowser and TEmbeddedWB components, playing of Youtube videos with the Youtube embed code always worked until one week ago or so. Now only a black screen is displayed. For example:
<iframe width="640" height="360" src="https://www.youtube.com/embed/LJnSWOHcS58?feature=player_detailpage " frameborder="0" allowfullscreen></iframe>
Loading this in the Delphi TWebbrowser and TEmbeddedWB components now does not work anymore!
See also here:http://goo.gl/R3eyR
<iframe width="640" height="360" src="
Loading this in the Delphi TWebbrowser and TEmbeddedWB components now does not work anymore!
See also here:
[Deleted User] <[Deleted User]> #90
Hey, guys.
Our company is dependent on this missing event data for billing its advertiser-clients.
Do you know where we might get an official description/explanation that we might send our clients so that the client knows that 1) this was on the YT end, not our error and 2) all entities accessing the issue via this API were affected the same way?
I just don't want to have a June invoice payment collection problem because we were without data for a 24-period. We've got as much as 3% of our June revenue at risk.
Thanks very much.
Our company is dependent on this missing event data for billing its advertiser-clients.
Do you know where we might get an official description/explanation that we might send our clients so that the client knows that 1) this was on the YT end, not our error and 2) all entities accessing the issue via this API were affected the same way?
I just don't want to have a June invoice payment collection problem because we were without data for a 24-period. We've got as much as 3% of our June revenue at risk.
Thanks very much.
cd...@gmail.com <cd...@gmail.com> #91
This still seems to be an issue are you viewing it as resolved? I can still recreate it on Chrome and Safari even after clearing the browser cache. Basically the onstatechange is not firing regardless if whether I wire it during the player initialization or if I try to attach an event via the onready event.
ma...@gmail.com <ma...@gmail.com> #92
Here in Spain the problem still persists, however I discovered a clean workaround:
player = new YT.Player(element,{
events: {
onReady: function(){
/*
Do your stuff
*/
// Attach a void function to the event
player.addEventListener('onStateChange',function(){});
},
onStateChange: function(){
// Actual function that gets executed during the event
}
}
});
player = new YT.Player(element,{
events: {
onReady: function(){
/*
Do your stuff
*/
// Attach a void function to the event
player.addEventListener('onStateChange',function(){});
},
onStateChange: function(){
// Actual function that gets executed during the event
}
}
});
na...@gmail.com <na...@gmail.com> #93
hi manolova ,
i used your code ,it is clean workaround.. Thank you..!
i used your code ,it is clean workaround.. Thank you..!
em...@gmail.com <em...@gmail.com> #94
In Toronto, onStateChanged was fixed for a week or so but is now broken again.
[Deleted User] <[Deleted User]> #95
ep...@gmail.com <ep...@gmail.com> #96
Still not working on Brazil, Sorocaba. Not even OnReady event
bt...@gmail.com <bt...@gmail.com> #97
[Comment deleted]
bt...@gmail.com <bt...@gmail.com> #98
Not working in Quebec, CANADA. onStateChange disabled.
vi...@gmail.com <vi...@gmail.com> #99
Not working in Buenos Aires, Argentina. Workarounds suggested in previous comments not helping so far. (not very experienced myself, so I might be missing something)
mo...@gmail.com <mo...@gmail.com> #100
To the people reporting issues - to verify it's actually Google's issues and not yours, check if the demos work correctly: https://developers.google.com/youtube/youtube_player_demo
Pick the IFrame player, and as you pause/play the video you should see events being updated on the page, if all is well.
Pick the IFrame player, and as you pause/play the video you should see events being updated on the page, if all is well.
je...@google.com <je...@google.com> #101
I'd ask that folks seeing currents issues somewhat related to YouTube Player API events file separate bugs with a concrete description of what you're seeing and specific steps to reproduce. Some of what people have recently mentioned in this bug sounds like it's covered by https://code.google.com/p/gdata-issues/issues/detail?id=4778 for instance.
[Deleted User] <[Deleted User]> #102
Not working in San Francisco, California.
I am testing with the example given in the YouTube Player API Reference at:
https://developers.google.com/youtube/iframe_api_reference
In the example, there is an embedded YouTube player that is supposed to load a video, play that video, and then stop after 6 seconds.
=== On Safari 6.0.5 ===
The player loads.
onYouTubeIframeAPIReady is called.
Then I see these 3 errors:
1) Unable to post message tohttp://www.youtube.com . Recipient has origin https://www.youtube.com .
2) Unsafe JavaScript attempt to access frame with URL file:///Users/inieves/Desktop/test.html from frame with URLhttps://www.youtube.com/embed/M7lc1UVf-VE?enablejsapi=1 . Domains, protocols and ports must match.
3) Unable to post message tohttp://www.youtube.com . Recipient has origin https://www.youtube.com .
And the 3rd error continues on and on... The counter next to the line is reading out that the error has occurred about 500 times and is _still_ occurring.
onReady event handler is never called.
===On Chrome 27.0.1453.116 ===
The player loads.
onYouTubeIframeAPIReady is called.
Then I see this error:
1) Blocked a frame with origin "http://www.youtube.com " from accessing a frame with origin "null". The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "file". Protocols must match.
onReady event handler is never called.
==On Firefox 21.0===
The player loads.
onYouTubeAPIReady is called.
onReady event handler IS CALLED!!
The video starts to play...he v
And then about 5 seconds later the onStateChange handler tells me that the video state is (-1) UNSTARTED and then it is (5) QUEUED.
And then the video just stops playing.
I can see in the console log that early on there is an error: "TypeError: Value not an object."
I am testing with the example given in the YouTube Player API Reference at:
In the example, there is an embedded YouTube player that is supposed to load a video, play that video, and then stop after 6 seconds.
=== On Safari 6.0.5 ===
The player loads.
onYouTubeIframeAPIReady is called.
Then I see these 3 errors:
1) Unable to post message to
2) Unsafe JavaScript attempt to access frame with URL file:///Users/inieves/Desktop/test.html from frame with URL
3) Unable to post message to
And the 3rd error continues on and on... The counter next to the line is reading out that the error has occurred about 500 times and is _still_ occurring.
onReady event handler is never called.
===On Chrome 27.0.1453.116 ===
The player loads.
onYouTubeIframeAPIReady is called.
Then I see this error:
1) Blocked a frame with origin "
onReady event handler is never called.
==On Firefox 21.0===
The player loads.
onYouTubeAPIReady is called.
onReady event handler IS CALLED!!
The video starts to play...he v
And then about 5 seconds later the onStateChange handler tells me that the video state is (-1) UNSTARTED and then it is (5) QUEUED.
And then the video just stops playing.
I can see in the console log that early on there is an error: "TypeError: Value not an object."
st...@gmail.com <st...@gmail.com> #104
I think that error is back. The onReady event is never fired: http://jsfiddle.net/st_f/ApK7X/120/
log:
Detected baseUrl ashttps://towtruck.mozillalabs.com towtruck.js:82
GEThttp://www.google-analytics.com/__utm.gif?utmwv=5.4.3&utms=56&utmn=58698372 …questions%2F16050024%2Fyoutube-iframe-api-fails-to-post-message%3B&utmu=q~ [VM] ga.js (648):61
8
Blocked a frame with origin "https://www.youtube.com " from accessing a frame with origin "http://fiddle.jshell.net ". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.
www-embed-player-vflXN6WzI.js:1
Blocked a frame with origin "https://www.youtube.com " from accessing a frame with origin "http://fiddle.jshell.net ". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.
www-embed-player-vflXN6WzI.js:1
2
Blocked a frame with origin "https://www.youtube.com " from accessing a frame with origin "http://fiddle.jshell.net ". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.
www-embed-player-vflXN6WzI.js:1
Blocked a frame with origin "https://www.youtube.com " from accessing a frame with origin "http://jsfiddle.net ". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.
www-embed-player-vflXN6WzI.js:214
GEThttp://www.google-analytics.com/__utm.gif?utmwv=5.4.3&utms=57&utmn=74569278 …questions%2F16050024%2Fyoutube-iframe-api-fails-to-post-message%3B&utmu=6~ [VM] ga.js (648):61
GEThttp://www.google-analytics.com/__utm.gif?utmwv=5.4.3&utms=58&utmn=99435007 …questions%2F16050024%2Fyoutube-iframe-api-fails-to-post-message%3B&utmu=6~ [VM] ga.js (648):61
GEThttp://www.google-analytics.com/__utm.gif?utmwv=5.4.3&utms=59&utmn=15270125 …questions%2F16050024%2Fyoutube-iframe-api-fails-to-post-message%3B&utmu=6~ [VM] ga.js (648):61
3
Blocked a frame with origin "https://www.youtube.com " from accessing a frame with origin "http://fiddle.jshell.net ". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.
www-embed-player-vflXN6WzI.js:1
Blocked a frame with origin "https://www.youtube.com " from accessing a frame with origin "http://fiddle.jshell.net ". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.
log:
Detected baseUrl as
GET
8
Blocked a frame with origin "
www-embed-player-vflXN6WzI.js:1
Blocked a frame with origin "
www-embed-player-vflXN6WzI.js:1
2
Blocked a frame with origin "
www-embed-player-vflXN6WzI.js:1
Blocked a frame with origin "
www-embed-player-vflXN6WzI.js:214
GET
GET
GET
3
Blocked a frame with origin "
www-embed-player-vflXN6WzI.js:1
Blocked a frame with origin "
ju...@gmail.com <ju...@gmail.com> #105
[Comment deleted]
xg...@xgraves.com <xg...@xgraves.com> #106
when using the iFrame embed, the HTML5 player works fine but the Flash player doesn't (i.e. in Firefox). Flash player gives the following error after calling loadVideoById():
[15:10:31.655] TypeError: can't convert undefined to object @https://s.ytimg.com/yts/jsbin/www-embed-player-vflmfQzGM.js:9
[15:10:31.666] Error: Permission denied to access property 'toString'
[15:10:31.655] TypeError: can't convert undefined to object @
[15:10:31.666] Error: Permission denied to access property 'toString'
cm...@gmail.com <cm...@gmail.com> #108
[Comment deleted]
cm...@gmail.com <cm...@gmail.com> #109
I think this issue has again reproduced suddenly the calls to onReady and onStateChange have been stopped as they were working fine 2 days before.
Please also refer the code athttp://jsfiddle.net/77PJB/5/ which is not working.
Thanks.
Please also refer the code at
Thanks.
[Deleted User] <[Deleted User]> #110
I'm seeing the same issue in Buenos Aires, Argentina
au...@gmail.com <au...@gmail.com> #111
[Comment deleted]
ja...@gmail.com <ja...@gmail.com> #112
[Comment deleted]
ja...@gmail.com <ja...@gmail.com> #113
Seeing this issue again for the last few days. onReady and onStateChange events are not firing for videos where the iframe exists on the page when the api is initialised.
jo...@optionmarketmentor.com <jo...@optionmarketmentor.com> #114
Seeing this issue again,
pe...@kiosked.com <pe...@kiosked.com> #115
Also seeing this issue when attempting to destroy the player by "player.destroy()", or by removing a parent element.
pe...@kiosked.com <pe...@kiosked.com> #116
To be clear, I'm receiving the error "Array.prototype.forEach called on null or undefined" when using the Youtube JS api.
sa...@gmail.com <sa...@gmail.com> #117
loadvideobyid and pausevideo functions are not firing for videos in IE.
lu...@gmail.com <lu...@gmail.com> #118
[Comment deleted]
dy...@gmail.com <dy...@gmail.com> #119
onStateChanged not firing, no error
mt...@gmail.com <mt...@gmail.com> #120
[Comment deleted]
mt...@gmail.com <mt...@gmail.com> #121
onStateChange not firing over here as well.
co...@gmail.com <co...@gmail.com> #122
onStateChange event is Not getting fired. Is anyone else facing same issue with YT API today? Any worksrounds?
be...@gmail.com <be...@gmail.com> #123
Same issue - was working yesterday. Any updates?
co...@gmail.com <co...@gmail.com> #124
Also player.getCurrentTime() is now only returning 0 even if the video is running for n seconds.
wi...@gmail.com <wi...@gmail.com> #125
It only happened in Flash player. onStateChange is working when disable flash add-on. Any updates?
sa...@gmail.com <sa...@gmail.com> #126
Works fine in Chrome, the issue exists in Firefox.
co...@gmail.com <co...@gmail.com> #127
a workaround is to include a deprecated player url parameter when embedding the player using the iframeAPI:
playerVars: {
html5:1
}
the issue appears to be a problem with the youtube flash player, so forcing it to use html5 circumvents the issue...
playerVars: {
html5:1
}
the issue appears to be a problem with the youtube flash player, so forcing it to use html5 circumvents the issue...
dj...@gmail.com <dj...@gmail.com> #128
[Comment deleted]
of...@gmail.com <of...@gmail.com> #129
I'm still getting the error message although the status is "Fixed" (onPlayerStateChange is not fireing in any browser IE/FF/Chrome). My biggest problem is that the onPlayerStateChange is not fireing anymore.
On the example page I also see the error:http://yokee.tv/c/yt2.html
I have tried all the workarounds above with no solution...
On the example page I also see the error:
I have tried all the workarounds above with no solution...
je...@gmail.com <je...@gmail.com> #130
For me it's just random. I add the eventlistener when the player is 'ready' but sometime it trigger every state change and sometime none
ol...@gmail.com <ol...@gmail.com> #131
[Comment deleted]
ol...@gmail.com <ol...@gmail.com> #132
Please, can we seriously get this to work? Or at least can a Project Member drop a comment saying that it is being worked on or that it will be worked on? Clearly people are still experiencing issues, especially with the 'onStateChange' call (even with the various "workarounds").
My issue is similar to #131 jeremy.v...@gmail.com's; when 'onStateChange is fired' it shows the popup I have put in place about 4 times when the video starts. Every other time when I click the video to pause or play (thereby changing its state), or even when the video ends, I get none of the messages I have put in place, back. And even then it's not so predictable, sometimes 'onStateChange' does not seem to be fired.
Is anyone experiencing anything similar, particularly? Also, just to make sure I have proper knowledge of the API, the function mapped to 'onStateChange' should be called anytime a change in state occurs as implied, even during playback, whenever? Because once again, I pause, play but no message back, it's only at the beginning of the playback of the video that I ever get any message when it works.
Thanks.
My issue is similar to #131 jeremy.v...@gmail.com's; when 'onStateChange is fired' it shows the popup I have put in place about 4 times when the video starts. Every other time when I click the video to pause or play (thereby changing its state), or even when the video ends, I get none of the messages I have put in place, back. And even then it's not so predictable, sometimes 'onStateChange' does not seem to be fired.
Is anyone experiencing anything similar, particularly? Also, just to make sure I have proper knowledge of the API, the function mapped to 'onStateChange' should be called anytime a change in state occurs as implied, even during playback, whenever? Because once again, I pause, play but no message back, it's only at the beginning of the playback of the video that I ever get any message when it works.
Thanks.
an...@gmail.com <an...@gmail.com> #133
I'm getting the same error that #133 oluwafun...@gmail.com.
The function fires two states (unstarted, buffering) and then never fires again.
Is there anyone that could help us?
Thanks.
The function fires two states (unstarted, buffering) and then never fires again.
Is there anyone that could help us?
Thanks.
km...@gmail.com <km...@gmail.com> #134
Only the onReady is firing for me. Work arounds do not seem to work. Can anyone help?!?!
I see this error, though I'm not sure it is related: WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
I see this error, though I'm not sure it is related: WebGL: INVALID_ENUM: getParameter: invalid parameter name, WEBGL_debug_renderer_info not enabled
Description
NOTE: Use this form ONLY if you are a DEVELOPER reporting bugs about the
YouTube Data or Player APIs. If you are experiencing problems with the
YouTube web site or another YouTube playback mechanism, please use
------------------------------------------------------------------------
Name of API affected:
HTML5 IFRAME API YouTube Player
Issue summary:
Provide a brief summary of the issue you're experiencing.
Can no longer use the API for playing videos, using the loadVideoById() function
Steps to reproduce issue:
Initialize the player object, call loadVideoById on the onReady event.
An example can be seen at:
Expected output:
Video should load
Actual results:
Player shows an error message