[英]How to prevent mailto event from opening a new tab in browser
我正在使用mailto:
填寫JavaScript以在我的Web應用程序中發送信息,但每次用戶按下“ 發送”按鈕時,它會在打開郵件應用程序(Outlook,Gmail等)之前在瀏覽器中打開一個新選項卡。
有沒有辦法防止空白標簽打開?
編輯:以下所有主流瀏覽器都會遇到此問題:Internet Explorer,Firefox和Google Chrome。
我使用window.open()
發送電子郵件,有沒有已知的替代品?
以下是我發送電子郵件的方式:
var mailto_link = 'mailto:'+email+'?subject='+subject+'&body='+body_message;
var win = window.open(mailto_link,'emailWindow');
我不想使用window.location.href
因為我在用戶發送電子郵件后顯示一條消息。
謝謝你的編輯。 確實有另一種選擇:
window.location.href = "mailto:mail@domain.tld";
alert("Thank you!");
我不想使用window.location.href,因為我在用戶發送電子郵件后顯示一條消息。
我真的沒有得到這個。 使用mailto:
window.location.href
時,您不會離開網站
AmShaegar的window.location.href解決方案效果很好,但它在我開發的復雜應用程序中引起了副作用。
我終於想出了一個可能感興趣的解決方案:
$('<iframe src="mailto:mail@domain.tld">').appendTo('body').css("display", "none");
看到這個plunker: http ://plnkr.co/edit/J0LvQU?p = preview
空白選項卡由window.open()
打開。 你不需要那個。
mailto鏈接的語法應該是這樣的
<a href="mailto:your@email.address?subject=Comments about the color blue">Contact Us</a>
有關詳細信息,請參閱http://www.addressmunger.com/mailto_syntax_tutorial/ 。
短暫間隔后關閉窗口:
var mailto_link = 'mailto:'+email+'?subject='+subject+'&body='+body_message;
var win = window.open(mailto_link,'emailWindow');
setTimeout(function() { win.close() }, 500);
嘗試命名窗口(myWindow)並添加close()命令:
<script>
myWindow=window.open("mailto:emailaddress@example.com");
myWindow.close();
</script>';
這應該關閉額外的瀏覽器窗口並保持電子郵件應用程序打開。 至少它對我有用。
不,這嚴格取決於瀏覽器處理新標簽的方式。 我花了幾個小時尋找解決方案,解決方案,任何事情......
firefox:options - > tabs
safari:preferences - > tabs
作為記錄:
使用target屬性創建一個錨標記,如下所示:
<div>
<a target="_self" href="mailto:mail1@domain1.com;%20mail2@domain2.com?subject=Mail%20sending&body=etc...">
Send Mail
</a>
</div>
<a className="prom-links-anchor" tabIndex="0" aria-label="Email" href={ "mailto:" + eid + "@yahoo.com"}
role="link" nocm="true" title={ "Email"} rel="email" data-cs={contentSource} data={resultPosition + 1}
onMouseDown={this.handleMouseDown.bind(this)} onKeyDown={this.handleKeyPressEvent.bind(this)}
onContextMenu={e=> e.preventDefault()}
>
<div className="icon-email" title="Email" href={"mailto:" + eid + "@yahoo.com"} rel="email"
data-cs={contentSource} data={resultPosition + 1} />
<div className="icon-label-email" aria-hidden="true" href={"mailto:" + eid + "@yahoo.com"}
title={"Email"} rel="hc-email" data-cs={contentSource} data={resultPosition + 1}
>Email</div>
</a>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.