Replace switch in YouTube error handler with object literal
This commit is contained in:
parent
213cfe8c84
commit
c373ed72d7
@ -200,46 +200,22 @@ const youtube = {
|
|||||||
},
|
},
|
||||||
events: {
|
events: {
|
||||||
onError(event) {
|
onError(event) {
|
||||||
// If we've already fired an error, don't do it again
|
// YouTube may fire onError twice, so only handle it once
|
||||||
// YouTube fires onError twice
|
if (!player.media.error) {
|
||||||
if (is.object(player.media.error)) {
|
const code = event.data;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const detail = {
|
|
||||||
code: event.data,
|
|
||||||
};
|
|
||||||
|
|
||||||
// Messages copied from https://developers.google.com/youtube/iframe_api_reference#onError
|
// Messages copied from https://developers.google.com/youtube/iframe_api_reference#onError
|
||||||
switch (event.data) {
|
const message = ({
|
||||||
case 2:
|
2: 'The request contains an invalid parameter value. For example, this error occurs if you specify a video ID that does not have 11 characters, or if the video ID contains invalid characters, such as exclamation points or asterisks.',
|
||||||
detail.message =
|
5: 'The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.',
|
||||||
'The request contains an invalid parameter value. For example, this error occurs if you specify a video ID that does not have 11 characters, or if the video ID contains invalid characters, such as exclamation points or asterisks.';
|
100: 'The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.',
|
||||||
break;
|
101: 'The owner of the requested video does not allow it to be played in embedded players.',
|
||||||
|
150: 'The owner of the requested video does not allow it to be played in embedded players.',
|
||||||
|
}[code]) || 'An unknown error occured';
|
||||||
|
|
||||||
case 5:
|
player.media.error = { code, message };
|
||||||
detail.message =
|
|
||||||
'The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 100:
|
|
||||||
detail.message =
|
|
||||||
'The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 101:
|
|
||||||
case 150:
|
|
||||||
detail.message = 'The owner of the requested video does not allow it to be played in embedded players.';
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
detail.message = 'An unknown error occured';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
player.media.error = detail;
|
|
||||||
|
|
||||||
triggerEvent.call(player, player.media, 'error');
|
triggerEvent.call(player, player.media, 'error');
|
||||||
|
}
|
||||||
},
|
},
|
||||||
onPlaybackQualityChange() {
|
onPlaybackQualityChange() {
|
||||||
triggerEvent.call(player, player.media, 'qualitychange', false, {
|
triggerEvent.call(player, player.media, 'qualitychange', false, {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user