如何在Meteor的新选项卡或窗口中打开链接

zor*_*lak 13 meteor

我还没有找到任何有用的东西.我已经尝试了以下所有方法,但无济于事:

  • 将属性添加target="_blank"<a>
  • 加入target="someName"<a>
  • 网址以.开头 '/'
  • 网址以.开头 Meteor.absoluteUrl()
  • 网址开头是Meteor.absoluteUrl()"http://"删除
  • URL为字符串文字,不从模板助手返回
  • <a>{{#constant}}模板内部区域
  • <a>不在{{#constant}}模板中的区域内
  • <a> 在任何模板之外的身体
  • <a> 附加到浏览器控制台中的正文
  • window.open([url],[target]) 具有所有上述组合.

在所有情况下,链接都会在与其单击位置相同的选项卡中打开,但未启动的URL除外,该链接在新选项卡中http://打开了about:blank页面.

知道是什么导致了这个,或者如何解决它?

Kyl*_*ley 9

这似乎是一个错误.我认为Meteor应该忽略链接target="_blank".也许你可以在问题跟踪器上创建一个问题

也就是说,我已经成功完成了这项工作:

的test.html

<template name="test">
  <a href="/new-window" target="_blank">Open new window</a>
</template>
Run Code Online (Sandbox Code Playgroud)

test.js

Template.test.events({
  'click a[target=_blank]': function (event) {
    event.preventDefault();
    window.open(event.target.href, '_blank');
  }
});
Run Code Online (Sandbox Code Playgroud)

另外,我发现添加http://外部链接的工作例如

<a href="http://twitter.com" target="_blank">Open new window</a>
Run Code Online (Sandbox Code Playgroud)

我不确定为什么这些东西不适合你.我只在Chrome中测试过它们,所以这可能是浏览器问题.