Fancybox在包含“&”的网址上窒息

时间:2012-11-05 23:16:26

标签: fancybox

我有一个脚本可以为我重新调整图像大小并使用它来提供图像:

http://mysite.com/createthumb.php?filename=mypic.jpg

Fancybox将使用以下链接提供上述图片:

<a href='createthumb.php?filename=mypic.jpg' class='fancybox' rel='lightbox[pics]' title=':: [ ]'><span></span><img src='createthumb.php?filename=mypic.jpg' alt='Loading...' /></a>

但我需要通过传递参数'size'来重新调整大小,使其大小与默认大小不同:

http://mysite.com/createthumb.php?filename=mypic.jpg&size=2000

但是当我将fancybox链接更改为以下内容时:

<a href='createthumb.php?filename=mypic.jpg&size=2000' class='fancybox' rel='lightbox[pics]' title=':: [ ]'><span></span><img src='createthumb.php?filename=mypic.jpg' alt='Loading...' /></a>

现在fancybox chokes和链接只是作为没有任何灯箱的图像。即使我更改了我的代码,甚至没有查看大小参数,也是如此。换句话说,只是在我的链接末尾添加“&amp; size = 2000”似乎设置fancybox完全失去平衡。

关于为什么会这样或者我如何解决这个问题的任何想法?

2 个答案:

答案 0 :(得分:3)

脚本无法通过查看您的链接来猜测内容类型。您有3个选择:

1)通过在末尾附加图片扩展名来更改链接,以便脚本可以检测到 -

<a href='createthumb.php?size=2000&filename=mypic.jpg' class='fancybox' ..

2)使用CSS类名来指定内容类型 -

<a href='..' class='fancybox fancybox.image' ..

3)初始化时设置类型 -

$(".fancybox").fancybox({type : 'image'});

答案 1 :(得分:0)

看起来fancybox正在检查URL的结尾以确定它是否是图像。将您的网址更改为createthumb.php?size=2000&filename=mypic.jpg

https://github.com/fancyapps/fancyBox/blob/master/source/jquery.fancybox.js (第767行)