jQuery PrettyPhoto передает идентификатор в iframe - PullRequest
5 голосов
/ 03 июня 2009

Я пытаюсь использовать jQuery PrettyPhoto и по какой-то причине он не проходит через переменную id. Если кто-то сталкивался с этой проблемой раньше и знает решение, это было бы здорово! Вот код:

<a href="/store-item-details?id=5&iframe=true&width=800&height=530" 
   rel="prettyPhoto[iframes]"
   title="">
   <img src="/images/store/thumbs/'.$item->image.'"
        alt="'.$item->name.'"
        width="100"
        border="0" />
</a>

Вот ссылка (с красивой фотографией, нажмите на одну из миниатюр)

http://www.photographicpassions.com/shop?view=products&category=1

и вот прямая ссылка из тега:

http://www.photographicpassions.com/store-item-details?id=1&iframe=true&width=800&height=530

Пожалуйста, помогите! :)

Ответы [ 2 ]

6 голосов
/ 04 июня 2009

Ваша проблема заключается в самом PrettyPhoto. Плагин предполагает (в случае iframe), что в этом URL нет других важных параметров, и удаляет их все после анализа высоты и ширины.

Вот фрагмент из незавершенной версии jquery.prettyPhoto.js. Обратите внимание на третью строку, где он удаляет все после вопросительного знака в movie_url.

    }else if(pp_type == 'iframe'){
      movie_url = $caller.attr('href');
      movie_url = movie_url.substr(0,movie_url.indexOf('?'));

      pp_typeMarkup = '<iframe src ="'+movie_url+'" width="'+(correctSizes['width']-10)+'" height="'+(correctSizes['height']-10)+'" frameborder="no"></iframe>';
    }

Я не уверен, насколько смелым вы себя чувствуете, но если вы закомментируете эту третью строку, она сработает для вас. (вы, вероятно, захотите повторно минимизировать, см .: http://fmarcia.info/jsmin/test.html)

    }else if(pp_type == 'iframe'){
      movie_url = $caller.attr('href');
      // movie_url = movie_url.substr(0,movie_url.indexOf('?')); // commented out to allow other attributes to be passed along.

      pp_typeMarkup = '<iframe src ="'+movie_url+'" width="'+(correctSizes['width']-10)+'" height="'+(correctSizes['height']-10)+'" frameborder="no"></iframe>';
    }
5 голосов
/ 05 июня 2009

Я выпустил новую версию prettyPhoto, которая исправляет ошибку, если вы не хотите ее взламывать.

Проверьте страницу проекта: http://www.no -margin-for-errors.com / projects / prettyPhoto-jquery-lightbox-clone /

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