2012-09-10 4 views
2

Je suis en train de charger une vidéo sur youtube en utilisant l'API. J'ai copié et collé l'exemple de code. Mais je reçois une erreur dans Internet Explorer 8 lorsque le mode de compatibilité est activé, et je veux forcer le mode 8.Youtube erreur api avec Internet Explorer 8 mode de compatibilité

ceci est l'erreur:

Message: 'JSON' is undefined 
Line: 33 
Char: 136 
Code: 0 
URI: http://s.ytimg.com/yt/jsbin/www-embed_core_module-vflDULhso.js 

c'est le html qui a l'exemple de code + en mode forçant 8:

http://cdn.radicalislam.org/enriched/test.html

Répondre

1

L'erreur est tout à fait surprenant que le soutien AFAIK JSON est pas plus un problème que presque tous les navigateurs le supportent maintenant (http://caniuse.com/json). Cependant, il semble que JSON n'est pas pris en charge dans votre cas, vous aurez donc besoin d'un polyfill tel que json2. Pour le charger Modernizr utiliser ceci:

Modernizr.load({ 
    test: !!window.JSON && !!JSON.parse, 
    nope: 'json2.js' 
}); 

Mise à jour: Je donne sur une note en bas de la page Can I Use; Pour bénéficier du support JSON dans IE8, vous devez utiliser HTML5 doctype en tant que <!DOCTYPE html> en haut de votre HTML.

2

L'API YouTube iframe dépend de plusieurs fonctionnalités fournies uniquement par IE8 + en mode standard.

Ils sont mentionnés sous la rubrique « Exigences » ici:

https://developers.google.com/youtube/iframe_api_reference

En particulier (en plus de la dépendance JSON que vous mentionnez) il y a une exigence sur l'API postMessage - qui ne peut être fourni par un javascript bibliothèque. Le résultat final est que l'API iframe de YouTube ne peut pas être utilisée sur IE8 en mode de compatibilité ou par tout autre navigateur qui ne prend pas en charge postMessage.

Alors que IE8 prend en charge les exigences en mode standard, passer en mode de compatibilité va rompre le comportement. Après avoir regardé le lien que vous avez posté, vous semblez avoir ajouté un doctype pour forcer le mode des standards depuis que vous avez posté ceci - cela a-t-il corrigé le problème?

+0

Non, je n'ai apporté aucune modification depuis la publication. S'il vous plaît lire attentivement, le problème se produit lorsque le navigateur est en mode de compatibilité, mais j'essaie de forcer le mode IE8 en utilisant méta tag –

Questions connexes