我没有找到任何有用的东西。我已经尝试了以下所有方法,但无济于事:
target="_blank"
添加到<a>
target="someName"
添加到<a>
'/'
Meteor.absoluteUrl()
Meteor.absoluteUrl()
开头,"http://"
已删除<a>
区域内的{{#constant}}
<a>
不在模板{{#constant}}
区域内
<a>
位于任何模板之外的正文中<a>
附加到浏览器控制台中的正文window.open([url],[target])
具有上述所有组合。在所有情况下,链接都会在与点击位置相同的标签页中打开,但不包含http://
的网址除外,该网址在新标签页中打开了about:blank
页面。
知道造成这种情况的原因,或者如何解决这个问题?
答案 0 :(得分:9)
这似乎是一个错误。我认为Meteor应忽略与target="_blank"
的链接。也许你可以在issue tracker
那就是说,我已经成功完成了这项工作:
的test.html
<template name="test">
<a href="/new-window" target="_blank">Open new window</a>
</template>
test.js
Template.test.events({
'click a[target=_blank]': function (event) {
event.preventDefault();
window.open(event.target.href, '_blank');
}
});
此外,我发现添加http://
适用于外部链接,例如
<a href="http://twitter.com" target="_blank">Open new window</a>
我不确定为什么这些东西不适合你。我只是在Chrome中测试过它们,所以这可能是浏览器问题。
答案 1 :(得分:0)
如果使用phonegap。答案就在这里 phonegap open link in browser
答案 2 :(得分:0)
对于派对来说,我肯定来得太晚了,但对于那些最终会在这里寻找解决方案来解决这个问题的人(比如我),我只想说明window.open([url],[target])
提到的方法,对于那些需要窗口而不是新标签的人来说。
window.open
的第三个参数是以逗号分隔的规范列表。第二个参数的默认值为_blank
,这将使新窗口在新选项卡中打开。
window.open(event.target.href, "", "width=200, height=200");
应在具有给定尺寸的新窗口(不是新标签页)中打开目标网址。
答案 3 :(得分:-1)
创建此全局帮助程序
Helpers.addHttp = function (url) {
if (!/^(f|ht)tps?:\/\//i.test (url)) {
url = "http://" + url;
}
return url;
}
在模板中使用它
<a href="{{addHttp url}}" target="_blank">some text</a>