我尝试使用Lightbox的标题功能作为放置PDF下载链接和网站网址的简单方法,以便人们能够详细查看设计并实际访问他们所访问的互动网站。被视为图像。我是这样做的:
<a href="projects/img_full/my_project.png" data-lightbox="project1" data-title="<a href='http://example.com/' target='_blank'>Visit site</a>">
<img src="projects/thumbs/my_project.png" alt="Project 1" />
</a>
链接在Lightbox图像下正确输出,如果我在浏览器中检查它,target='_blank'
仍然存在。但是,该链接仍会在同一标签中打开。
为什么会这样?有没有办法避免它?
答案 0 :(得分:1)
我有同样的问题,在我的项目页面上我有一些地方的画廊,并且在标题中我有一个网址到wiki网站,当前地点的描述,当我点击链接页面打开在同一个窗口,在firebug一切看起来都很好(有属性目标等)。
我在Lightbox库中找到了一些我认为负责运行网址的东西
// Enable anchor clicks in the injected caption html.
// Thanks Nate Wright for the fix. @https://github.com/NateWr
if (typeof this.album[this.currentImageIndex].title !== 'undefined' && this.album[this.currentImageIndex].title !== "") {
this.$lightbox.find('.lb-caption')
.html(this.album[this.currentImageIndex].title)
.fadeIn('fast')
.find('a').on('click', function(event){
location.href = $(this).attr('href');
});
}
但我并非100%确定是这样,有人可以通过&#34; target&#34;来显示我可以更新代码和依赖开放链接的位置。属性?
修改强>
好的,找到解决方法,需要用上面的代码替换它,它适用于我,在github上找到它 https://github.com/lokesh/lightbox2/pull/299/files
if (typeof this.album[this.currentImageIndex].title !== 'undefined' && this.album[this.currentImageIndex].title !== "") {
this.$lightbox.find('.lb-caption')
.html(this.album[this.currentImageIndex].title)
.fadeIn('fast')
.find('a').on('click', function (event) {
if ($(this).attr('target') !== undefined) {
window.open($(this).attr('href'), $(this).attr('target'));
} else {
location.href = $(this).attr('href');
}
});
}