Встраивание Javascript в HTML-документ - PullRequest
0 голосов
/ 28 ноября 2010

Я пытаюсь реализовать следующий код в HTML-документе:

    $(function () {

               $.ajax({
                type: "GET",
                url: "/projects/img/Bathurst/PhotoGallery.xml", // location of your gallery's xml file
                dataType: "xml",
                success: function(xml) {


                    $(xml).find('img').each(function() {

                       var location = '/projects/img/Bathurst/'; // relative path to the directory that holds your images
                       var url = $(this).attr('src');
                        var alt = $(this).attr('alt');

                        $('<li></li>').html('<a href="'+location+''+url+'" rel="shadowbox[gallery]"><img class="thumb" src="'+location+''+url+'" alt="'+alt+'" title="'+alt+'" /></a>').appendTo('#gallery-ul');


                    });
                    $('<script type="text/javascript"></script>').html('Shadowbox.clearCache(); Shadowbox.setup();').appendTo('#photo-gallery');
                }


            });
});

Код отлично работает, когда я использую его во внешнем файле .js, но я не могу заставить его работать, когда внедряю его, он просто рендерится с ошибкой в ​​коде.

Я что-то упустил, и у кого-нибудь есть предложения по этому поводу? Причина, по которой мне нужно это реализовать, на случай, если кто-то из них задумался, заключается в том, что я создаю собственное веб-приложение, а строки "/projects/img/Bathurst/PhotoGallery.xml" и "/ projects / img / Bathurst /" динамические переменные.

Все ответы очень ценятся! :)

Ответы [ 2 ]

2 голосов
/ 29 ноября 2010

Проблемная строка ($('<script type="text/javascript">...) - запутанный и излишне сложный способ запуска двух строк Javascript.

Вы должны заменить его простыми вызовами методов.(Shadowbox.clearCache(); Shadowbox.setup();)

2 голосов
/ 28 ноября 2010

Вы не можете иметь </script> внутри script. Изменить

$('<script type="text/javascript"></script>')

до

$('<script type="text/javascript"><\/script>')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...