Pregunta

Actualmente estoy usando el siguiente complemento jQuery: jQuery OEmbed. Este complemento funciona muy bien en FF, Chrome y Safari. Sin embargo, tengo un problema en IE7. He despojado mi código a esqueletos, pero aún no puedo entender qué podría estar causando el siguiente error:

Error: Object doesn't support this property or method.

La línea a la que se refiere el error es:

  $("#container").oembed("http://www.youtube.com/watch?v=nue4pvzuyOo");

Aquí está mi HTML (de nuevo, muy básico):

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
    <title>jquery-oembed explicit insert example</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>    
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>  
    <script type="text/javascript" src="oe.js"></script>
  </head>
  <body>
   <script type="text/javascript">
    $(document).ready(function() {
            $("#container").oembed("http://www.youtube.com/watch?v=nue4pvzuyOo");

    });
  </script>
 <div id="container"></div>
 </body>
 </html>

El javascript para el complemento se puede encontrar aquí .

Curiosamente, este error NO ocurre en IE8, solo IE7.

¿Alguna idea sobre qué podría estar causando este error?

¿Fue útil?

Solución

JSLint informa que, entre otros problemas, el código del complemento al que se vinculó tiene una coma adicional dentro de un literal de objeto . Corregir esto parece solucionarlo en IE7.

La solución:

// Plugin defaults
$.fn.oembed.defaults = {
    maxWidth: null,
    maxHeight: null,
            embedMethod: "replace", // "auto", "append", "fill"
};

cambia a:

// Plugin defaults
$.fn.oembed.defaults = {
    maxWidth: null,
    maxHeight: null,
            embedMethod: "replace" // "auto", "append", "fill"
};

Tenga en cuenta la coma después de " replace " .

Demostración de trabajo: http://jsbin.com/oxitu

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top