当用户点击预告片标题,我想要新的浏览器窗口打开



我知道,如果我将target="_blank"添加到<a>标签,这将导致点击链接时打开一个新窗口。
但是我如何用Drupal的方式将这个添加到<a>标签中呢?
这是一个预告片标题,不是我在块中创建的锚,也没有直接编辑的能力。
谢谢所有。

您可以使用jquery添加target="_blank",因此您可以避免使用不兼容的标记。

$(document).ready( function() {
    $('a.teaser-title-class').attr({
        target: "_blank", 
        title: "Opens in a new window"
    });
});

teaser-title-class改为你的预告片标题类。你可以在chrome或firefox中使用"inspect element"找到它是什么类。如果teaser类不可用,你可以用其他方式使用选择器,例如:$('#teaser a')

正如Marius所说,您可以使用节点模板文件,但这涉及到不兼容的标记。如果你使用JS,那么Drupal的方式使用行为。此外,您不应该假设$是D7中的jQuery。下面是一个例子:

(function ($) {
  Drupal.behaviors.titleTargetModify = {
    attach: function(context) {
      $('h2 a:not(.titletarget-processed)', context)
      .addClass('titletarget-processed')
      .attr('target', '_blank');
    }
  };
}(jQuery));
详细

这可以在您的主题文件(通常是node.tpl.php)中更改,您只需在那里添加目标属性。请记住,目标属性不符合XHTML,您应该使用javascript添加目标属性

相关内容

最新更新