Uncaught TypeError: У объекта # <Object>нет метода dispatchEvent - PullRequest
2 голосов
/ 13 июня 2011

Я пытаюсь объединить Drupal с Веб-интегратором Picasa .

У меня есть эти 3 строки в разделе моего page.tpl.php:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="/fotos/js/jquery.slimbox2/jquery.slimbox2.js" language="JavaScript"></script>
<script type="text/javascript" src="/fotos/js/jquery.pwi.js" language="JavaScript"></script>

Я также добавил этот сценарий в свой головной раздел, чтобы проверить альбом (имя пользователя и имя_папки)не важны, я тестировал его в автономном режиме с моим именем пользователя и альбомом, и это работало нормально):

<script type="text/javascript">

$(document).ready(function() {

    $("#container").pwi({
        username: 'My',
        maxresults: 5,
        mode: 'album',
        album: 'MyAlbum'
    });

});
</script>

Google Chrome выдает мне эту ошибку, когда я пытаюсь сделать это на моей Drupal-странице:

prototype.js:5733Uncaught TypeError: Object#<Object> has no method 'dispatchEvent'

Ответы [ 2 ]

3 голосов
/ 13 июня 2011

Drupal также поставляется с jQuery, и вы не можете просто добавить более позднюю версию в теги <script>. Вы можете попробовать использовать jquery-обновление Drupal , чтобы получить более свежую версию, или попробовать noConflict (я подозреваю, что вам это понадобится, если вы захотите использовать Prototype).

3 голосов
/ 13 июня 2011

Похоже, вы также загружаете prototype.js на странице (используется lightbox.js, возможно?), И, возможно, $, используемый как jQuery, так и Prototype, конфликтует. Если выдействительно нужно использовать как Prototype, так и jQuery, изучите использование режима noConflict jQuery: http://api.jquery.com/jQuery.noConflict/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...