今天意外发现点击aLinks关键词时都会出现Lightbox的动态图片框,经过分析代码发现Lightbox会在aLinks链接最后自动加上 rel=”lightbox” 用以标识为Lightbox链接,
通过分析插件 lightbox-plugin.php 源码,发现在程序第137行有这样一句
if(preg_match('/.('.IMAGE_EXTENSIONS.')/i', $link))
IMAGE_EXTENSIONS 的定义为 ‘jpg|jpeg|png|gif|bmp|ico’
即程序先提取所有超链接,然后通过正则分析链接中是否存在图片格式的关键字,如果存在,则判断其为一个Lightbox链接并在末尾加上标识
知道原因就好办了,因为aLinks也会在链接中加上rel标识自己,所以只要先通过正则判断链接中是否已存在rel表示,无则加上Lightbox标识,程序修改如下
if(preg_match('/.('.IMAGE_EXTENSIONS.')/i', $link) && !preg_match('/(rel)/i', $link) )

不知道,对于IE下的LightBox自动跳转问题有什么解决方案吗?
eMail我一下^^
出现这个问题主要是lightbox的js未加载完全,不好解决,可以试试功能类似的thickbox,支持的类型比lightbox更多,而且js文件小,加载快,效果可以参考下面的URL
http://www.anziji.com/magazine/95.htm