Проблемы с включением плагина jquery (jlembed).Конфликты с пространствами имен - PullRequest
1 голос
/ 13 декабря 2010

Я пытаюсь заставить jlembed работать, но я постоянно получаю ошибки в отладчике Chrome.Я перепробовал все ЭТОГО решения, но безуспешно.Как правильно включить jquery и jquery-плагин?Потому что я пытался поставить jQuery первым, последним.

Вот одна из моих версий кода src:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="jquery.jlembed.js"></script>  

<script language="javascript" type="text/javascript">
    jQuery.noConflict();

    jQuery(document).ready(function(){
    $("#playerDiv").jlEmbed({ //here is the error (debugger)
         id : 'player1',
         youtube : 'Cw2HAD9A_rw',
         format : 'swfobject',
         autoplay : 'no',
         youtubechromeless : 'no',
         youtubedisplay : true
    });
});

</script>  

и другая ошибка:

Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function
(anonymous function)
jQuery.jQuery.extend.readyjquery-latest.js:447
jQuery.DOMContentLoaded   

EDIT2: Ответ:

Я нашел правильный синтаксис, основанный на ЭТО .

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="jquery.jlembed.js"></script>  

<script language="javascript" type="text/javascript">
    jQuery(document).ready(function(){
       //jQuery("").hide();
     });

    jQuery(document).ready(function(){
    $("#playerDiv").jlEmbed({
         id : 'player1',
         youtube : 'Cw2HAD9A_rw',
         format : 'swfobject',
         autoplay : 'no',
         youtubechromeless : 'no',
         youtubedisplay : true
    });
});
</script>

Ответы [ 3 ]

1 голос
/ 13 декабря 2010

Почему вы звоните noConflict. затем используйте jQuery как готовый документ. и затем снова используйте обычный селектор $ jquery для $ ("# playerDiv") /

попробуйте также изменить этот $ на jQuery.

1 голос
/ 26 декабря 2010

Убедитесь, что вы на самом деле включаете jlEmbed ПОСЛЕ jQuery, но ДО сценария jQuery (document) .ready.

Находится ли ваша копия jlEmbed в том же месте, что и страница, на которой вы ее используете?-

<script type="text/javascript" src="jquery.jlembed.js"></script>

Попробуйте вставить полный путь к jlEmbed вместо относительного пути.

<script type="text/javascript" src="http://jlembed.com/latest.js"></script>
0 голосов
/ 13 декабря 2010

Не уверен, что это решит проблему, потому что мы не знаем, какую ошибку вы получите:

  1. Сначала поставьте jQuery:

    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript" src="jquery.jlembed.js"></script>
    
  2. $("#playerDiv").jlEmbed({...}) тоже должен войти в обратный вызов!

    jQuery(document).ready(function(){
        $("#playerDiv").jlEmbed({
             id : 'player1',
             youtube : 'Cw2HAD9A_rw',
             format : 'swfobject',
             autoplay : 'no',
             youtubechromeless : 'no',
             youtubedisplay : true
        });
    });
    

    В противном случае $("#playerDiv") попытается найти элемент с идентификатором #playerDiv до его создания.

...