JavaScript Feed-在新标签页中打开链接

时间:2015-06-17 18:47:28

标签: javascript html tabs

我有一种javascript类型的Feed,它更像是一个显示动态内容的小部件(该内容与其他网站联合)。 这就是我所拥有的:

<div id="previewWidget"></div>
<script type="text/javascript" src="https://api.something/hlwidgetcommon.js">
<script type="text/javascript" src="https://api.something/hlwidgetcommon.js"></script>
<script type="text/javascript" src="http://api.something/latestDiscussion.js"></script>
<script type="text/javascript">
  document.addEventListener('DOMContentLoaded', function() {
    hl.latestDiscussion('previewWidget', {
        discussionKey:'d06c3624-210e3-4a2b-a303-003f7ed66e038', <---------- random letters
        maxToRetrieve:'3',
        subjectLength:'50',
        contentLength:'160',
        moreUrl:'https://www.something.com',
        showLoginStatus:'0',
        loginUrl:'https://www.something.com',
        domainUrl:'https://www.something.com',
        cbUseBioBubble:'0',
        includeStaff:'1',
        HLIAMKey:'d06c3624-210e3-4a2b-a303-003f7ed66e038' <---------- more random letters
    });
  });
</script>

http://www.pastebin.ca/3030247

我想要做的是,Feed生成的每个链接都会在新标签中打开。 我没有<a href="#">去添加target=_blank

实施例: 这就是Feed生成的内容(它是论坛Feed): http://imgur.com/iQ45OtK

1 个答案:

答案 0 :(得分:0)

可能是最简单的解决方案:如果您的Feed中有任何<a>个元素,那么您可以轻松地为其指定目标=&#34; _blank&#34;通过JS。如果使用jQuery,你可以使用这个JS,例如:

$("#previewWidget a[href]").each(function() {
    $(this).attr("target","_blank");
});

如果您要扫描每个帖子的文字以查找网址,那么您可以使用<a target="_blank">元素包装这些网址。有关详细信息,请参阅this post,因为使用JS准确检测网址有点复杂。

不幸的是,使用Javascript在新标签页中打开链接是不可靠的,因为这归结为浏览器配置问题 - 通常您会遇到弹出窗口阻止程序。有关详细信息,请参阅this post