Веб-форма ASP.net и Fancybox не загружаются при загрузке страницы с предопределенным изображением - PullRequest
0 голосов
/ 13 февраля 2012

У меня есть фото-камбуз, который я показываю с помощью fancybox, он отлично работает. мне нужно добавить дополнительные функции, чтобы пользователь мог поделиться ссылкой на фотографию по электронной почте со своими друзьями и т. д.

Я использую веб-форму asp.net c # вместе с дизайном мастер-страницы для своей главной фотогалереи и загружаю галерею в fancybox, используя iframe с моей главной страницы Photogallery.aspx.

Теперь все работает нормально. Я хочу, чтобы пользователь открыл ту же ссылку, что и моя электронная почта в модной коробке на главной странице Photogallery.aspx.

Я использую java-скрипт для проверки наличия строки запроса "emailImgID", затем я запускаю скрытую ссылку для загрузки fancybox, но она не работает, но ниже приведена последняя версия кода. Я пробовал разные вещи, но это не работает ..

<script src="Scripts/jquery-1.6.min.js" type="text/javascript"></script>
 <script src="fancybox/jquery.fancybox-1.3.4.pack.js" type="text/javascript"></script>
    <link href="fancybox/jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" />
    <link rel="stylesheet" href="style.css" />
    <script type="text/javascript">
        $(document).ready(function () {
            $("a.iiframe").fancybox({
                'scrolling': 'no',
                'width': 830,
                'height': 650,
                'autoScale': false,
                'transitionIn': 'none',
                'transitionOut': 'none',
                'type': 'iframe'
            });



            $.extend({
                getUrlVars: function () {
                    var vars = [], hash;
                    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
                    for (var i = 0; i < hashes.length; i++) {
                        hash = hashes[i].split('=');
                        vars.push(hash[0]);
                        vars[hash[0]] = hash[1];
                    }
                    return vars;
                },
                getUrlVar: function (name) {
                    return $.getUrlVars()[name];
                }
            });

            // i use this part to trigger link event so that it can load fancy box rather it shows only loading icon and doesnt load fancybox
            var urlVars = $.getUrlVars();
            if (urlVars['emailImgID'] != "") {
                $("#MainContent_hidden_link").fancybox().trigger('click');
            }

    });


</script>

Ответы [ 2 ]

0 голосов
/ 13 февраля 2012

Рабочий скрипт: Мне удалось написать код для работы с незначительными изменениями в скрипте, теперь он работает нормально

    $(document).ready(function () {
        $("a.iiframe").fancybox({
            'scrolling': 'no',
            'width': 830,
            'height': 650,
            'autoScale': false,
            'transitionIn': 'none',
            'transitionOut': 'none',
            'type': 'iframe'
        });

        $.extend({
            getUrlVars: function () {
                var vars = [], hash;
                var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
                for (var i = 0; i < hashes.length; i++) {
                    hash = hashes[i].split('=');
                    vars.push(hash[0]);
                    vars[hash[0]] = hash[1];
                }
                return vars;
            },
            getUrlVar: function (name) {
                return $.getUrlVars()[name];
            }
        });
        var urlVars = $.getUrlVars();
        if (urlVars['emailImgID'] != null) {
            $("#<%= hidden_link.ClientID %>").trigger('click');
        }
    });
0 голосов
/ 13 февраля 2012

Чтобы получить часть URL-адреса строки запроса, используйте location.search.

Изменить метод getUrlVars на.

           getUrlVars: function () {
                var vars = [], hash;
                if(winddow.location.search){
                   var hashes = winddow.location.search.split('&');
                   for (var i = 0; i < hashes.length; i++) {
                       hash = hashes[i].split('=');
                       vars.push(hash[0]);
                       vars[hash[0]] = hash[1];
                   }
                   return vars;
                }
            },

И проверь вот так

        var urlVars = $.getUrlVars();
        if (urlVars['emailImgID']) {
            $("#MainContent_hidden_link").fancybox().trigger('click');
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...