我正在尝试使用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
请帮忙! :)
答案 0 :(得分:6)
你的问题出在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>';
}
答案 1 :(得分:5)
我已经发布了一个新版本的prettyPhoto,如果您不想破解它,可以修复该错误。
查看项目页面:http://www.no-margin-for-errors.com/projects/prettyPhoto-jquery-lightbox-clone/