我試圖打開電子郵件客戶端,就像使用<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等。 –
我更新了我的答案。 –