Plugin OEmbed jQuery - Errore: l'oggetto non supporta questa proprietà o metodo
-
06-07-2019 - |
Domanda
Attualmente sto usando il seguente plugin jQuery: jQuery OEmbed. Questo plugin funziona alla grande in FF, Chrome e Safari. Tuttavia, sto riscontrando un problema in IE7. Ho ridotto il mio codice a bare-bones, ma ancora non riesco a capire cosa potrebbe causare il seguente errore:
Error: Object doesn't support this property or method.
La riga a cui si riferisce l'errore è:
$("#container").oembed("http://www.youtube.com/watch?v=nue4pvzuyOo");
Ecco il mio HTML (di nuovo, molto semplice):
<!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>
Il javascript per il plug-in è disponibile qui .
È interessante notare che questo errore NON si verifica in IE8 - solo IE7.
Qualche idea su cosa potrebbe causare questo errore?
Soluzione
JSLint riporta che, tra gli altri problemi, il codice del plugin a cui hai collegato ha una virgola aggiuntiva all'interno di un oggetto letterale . Correggere questo sembra risolverlo in IE7.
La correzione:
// Plugin defaults
$.fn.oembed.defaults = {
maxWidth: null,
maxHeight: null,
embedMethod: "replace", // "auto", "append", "fill"
};
cambia in:
// Plugin defaults
$.fn.oembed.defaults = {
maxWidth: null,
maxHeight: null,
embedMethod: "replace" // "auto", "append", "fill"
};
Nota la virgola dopo " sostituisci "
.
Demo funzionante: http://jsbin.com/oxitu