Встроенный Плагин jQuery - Ошибка:Объект не поддерживает это свойство или метод

StackOverflow https://stackoverflow.com/questions/1627790

Вопрос

В настоящее время я использую следующий плагин jQuery:Встроенный jQuery.Этот плагин отлично работает в FF, Chrome и Safari.Однако у меня возникла проблема в IE7.Я сократил свой код до минимума, но все еще не могу понять, что могло бы вызвать следующую ошибку:

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

Строка, на которую ссылается ошибка, является:

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

Вот мой HTML (опять же, очень простой):

 <!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>

Javascript для плагина можно найти здесь здесь.

Интересно, что эта ошибка ВОЗНИКАЕТ НЕ в IE8, а только в IE7.

Есть какие-нибудь идеи о том, что может быть причиной этой ошибки?

Это было полезно?

Решение

JSLint сообщает, что, помимо прочих проблем, код плагина, на который вы ссылаетесь, содержит дополнительную запятую внутри объектного литерала.Исправление этого, похоже, исправляет это в IE7.

Исправление:

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

изменения в:

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

Обратите внимание на запятую после "replace".

Рабочая демонстрация: http://jsbin.com/oxitu

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top