web-dev-qa-db-ja.com

javascriptを使用したmailto

ユーザーが画像をクリックするたびに、「宛先」を指定して新しいOutlookメールテンプレートを開きます。 javascriptを読み込むたびに新しいメールテンプレートを開く必要があるたびに、HTMLページ(イメージにリンク)にコードを返します。しかし、機能は機能していません。コードの何が問題なのか教えてください。

body onLoad="redirect()"

script language="JavaScript"

function redirect() 

      var email = "[email protected]"
      var mailto_link = 'mailto:' + email
      window = window.open(mailto_link, 'emailWindow')
      if (window && window.open && !window.closed)         
          window.close()
46
Sathish

JQueryは必要ありません。そして、新しいウィンドウを開く必要はありません。ブラウザにHTTPデータを返さないプロトコル(mailto:irc://magnet:ftp://(<-実装方法によって異なりますが、通常、ブラウザには組み込みのFTPクライアント)は、現在のコンテンツを失うことなく、同じウィンドウで照会できます。あなたの場合:

function redirect()
{
    window.location.href = "mailto:[email protected]";
}
<body onload="javascript: redirect();">

またはただ直接

<body onload="javascript: window.location.href='mailto:[email protected]';">
62
StanE

jsFiddleのコード を見つけてください。 jQueryを使用して、リンクのhrefを変更します。代わりに他のライブラリを使用できます。動作するはずです。

HTML

<a id="emailLnk" href="#">
    <img src="http://ssl.gstatic.com/gb/images/j_e6a6aca6.png">
</a>

JS

$(document).ready(function() {
    $("#emailLnk").attr('href',"mailto:[email protected]");
});​

UPDATE

IDがクリックイベント中にのみ認識される場合の別のコードサンプル

$(document).ready(function() {
    $("#emailLnk").click(function()
     {
         alert('h');
         document.location.href = "mailto:[email protected]";
     });
});​
23
Ramesh

JavaScriptを使用すると、次のような方法で「オンザフライ」でリンクを作成できます。

var mail = document.createElement("a");
mail.href = "mailto:[email protected]";
mail.click();

これは、現在のウィンドウのコンテンツを失うことなく、マシンにインストールされているメールクライアントにブラウザによってリダイレクトされます...「jQuery」のようなAPIは必要ありません。

11
GuerraTron

私は単にこのjavascriptコードを使用しました(jqueryを使用していますが、必ずしも必要ではありません):

    $( "#button" ).on( "click", function(event) {
         $(this).attr('href', 'mailto:[email protected]?subject=hello');
    });

ユーザーがリンクをクリックすると、クリックされた要素のhref属性が置き換えられます。

デフォルトのcomportment(event.preventDefault)を妨げないように注意してください。hrefをどこに行けばよいのか、そのままにしておく必要があります。

ロボットはそれを見ることができず、アドレスはスパムから保護されていると思います。

4
Proustibat

単純なmailtoを使用できます。単純なマークアップについては以下を参照してください。

<a href="mailto:[email protected]">Click here to mail</a>

クリックすると、Outlookまたは設定したメールクライアントが開きます。

4
Allan