Lightbox 2删除了数据标题中的target =" _blank"的行为

时间:2014-11-03 04:52:50

标签: html tabs lightbox2

我尝试使用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'仍然存在。但是,该链接仍会在同一标签中打开

为什么会这样?有没有办法避免它?

1 个答案:

答案 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');
                }
            });
        }