我试图打开电子邮件客户端,就像使用<a href="mailto:[email protected]">mail me</a>
标记一样。GWT:未打开浏览器选项卡打开新邮件窗口
但我想用我的自定义小部件,这不是超链接,锚点等。我添加了一个DOM处理程序,以我的小工具来听点击:当单击该窗口小部件,新的空的浏览器标签将URL设置为mailto:[email protected]
开:除了一个细节
public class VContactWidget extends VHorizontalLayout implements ClickHandler {
private HandlerRegistration clickHandler;
public VContactWidget() {
// added some content here
clickHandler = addDomHandler(this, ClickEvent.getType());
}
@Override
public void onClick(ClickEvent event) {
Window.open("mailto:[email protected]", "_blank", "");
}
}
一切工作正常。我不希望打开新标签。我能以某种方式避免它吗?
注意我设置了_blank
参数,如许多示例中所使用的。我也尝试使用空字符串或其他值。我查看了文档,但没有发现任何有用的东西。 https://developer.mozilla.org/en-US/docs/Web/API/window.open
一个解决办法可能是使用锚,但我的成分比较复杂,不只是单一的<a>
链接。
需要注意的另一个细节可能是应用程序服务器 - 我现在正在使用Tomcat 7。
感谢您的回答,安德烈。 如果我在静态html页面中直接使用代码mail me,则不会打开新的选项卡。 (至少在Chrome中)这是我想要的。我期望,使用生成完全相同的代码的锚将以相同的方式运行。 (不,我没有尝试过,因为我无法使用Anchor。)它看起来不像是依赖于浏览器设置。 – Radium
它也取决于默认的电子邮件客户端。对于许多用户,点击此链接将打开Outlook或邮件,而其他用户则会打开Gmail等。 –
我更新了我的答案。 –