0

この非表示のフォームと、送信するメールに挿入したい「これが好き」ボタンがあります。

<form method="post" action="http://someWebsite.com/he_likes_it">
    <input type="hidden" name="who_liked" value="heLikedIt@something.com" />
    <input type="submit" value="I Like This" />
</form>

ボタンをメールに問題なく挿入できます。そのため、メールの受信者がメールのボタンをクリックすると、フォーム データを含む POST 要求がサーバーに送信され、誰がメールを気に入ったかがわかります。ただし、ボタンをクリックすると、ユーザーを私のサイトに誘導するリンク (新しいブラウザー ウィンドウ/タブなど) も開きます。ボタンをクリックしてもリンクが開かないようにし、フォームのデータをサーバーに送信するだけにするにはどうすればよいですか?

いいねボタンは目立たないようにしたい。新しいタブを開いてメールの受信者に迷惑をかけたくありません。私はJavaScriptでそれが可能であることを知っていますが、ほとんどの電子メールサービスプロバイダーは電子メールでJavaScriptをエスケープする必要があると確信しています.

4

2 に答える 2

2

手始めに、javascript のことは完全に忘れてください。JS の通過を許可する電子メール クライアントはありません。単純にリスクが高すぎます。

フォーム メソッドに関しては、電子メール クライアントがそれを通過させるかどうかは別として、ページがすぐに閉じられた場合 (以下のスニペットを参照)、一部のオペレーティング システム、ブラウザー、および電子メール クライアントは、それに応じてメールにフォーカスを戻す可能性があります。クライアント(これはあなたが求めているものです-ユーザーは「元の場所に戻されます」)。ただし、クライアント OS、ブラウザー、および電子メール クライアントがどのように反応するかについての保証はありません。

さらに、HTML 以外のクライアントを使用する人もいれば、一部のクライアント (Outlook など) はおそらくこれを完全に禁止します。セキュリティの観点からすると、これは悪用される可能性があるため、実行していることが悪用されていなくても、プラクティス全体がその可能性を秘めているため、ブロックされる可能性があります。

HTML 以外の電子メール クライアントは、HTML をテキストとしてダンプする可能性があるため、そのシナリオでは見栄えが悪くなります。

ウィンドウをすぐに閉じるには、次のことを試してください。

<script type="text/javascript">window.close();</script>

したがって、のページはhttp://someWebsite.com/he_likes_it、出力としてこれのみで構成されます (サーバー側で必要な処理を実行した後)。ブラウザー、他のタブが開いているかどうか、およびその他のいくつかの要因によっては、ウィンドウ問題なく閉じる場合があります。マイトは有効な言葉です!その後、ユーザーはメール クライアントに戻される場合があります。これをスクリプト化する方法も、制御する方法もありません。

別の方法として、問題が発生しにくく、メール クライアント、OS、ブラウザの気まぐれが少ないことをお勧めします。これは「卑劣」ではありません。ユーザーから何をしているのかを隠さないでください。フォームの代わりに、メールにリンクを含めるだけです。

Like this email? Let us know: <a href="http://www.mysiteurl.com/he_liked_it/UNIQUE_IDENTIFIER">http://www.mysiteurl.com/he_liked_it/UNIQUE_IDENTIFIER</a>

一意の識別子は、電子メール (とにかくフォームで行っていたことです)、またはユーザーにリンクされている何らかの種類のトークンである可能性があります。どちらの場合でも、ページには、ユーザーのフィードバックに感謝するテキストを含めることができます。

ありがとう!メールを気に入っていただき、ありがとうございます。このウィンドウを閉じるか、 ここをクリックしてメイン ページに移動します。

これはクロスブラウザ、クロス OS であり、HTML 対応の電子メール クライアントで機能します。プレーンテキストのクライアントの場合、URL をブラウザーにコピー アンド ペーストするだけで、マークアップの煩雑さが目立たなくなります。ユーザーは、あなたの透明性、感謝の意を表し、電子メール クライアントのセキュリティ警告を引き起こすような電子メールを送信していないことを高く評価します。

于 2012-06-28T22:08:14.960 に答える
1

ほとんどの(すべてではないにしても)電子メールクライアントは電子メール内のスクリプトタグを完全に削除するため、ソリューションは機能しません。したがって、すべてのJavaScriptが失われます。さらに、フォームの投稿は確実に機能しません。

これを行う唯一の方法 (およびすべての企業で採用されている方法) は、メールにリンクを含めることです。リンクをクリックすると、ユーザーはサイトのページに移動します。

<a href="http://YOUR-SITE.com/like">I Like This</a>

もちろん、サーバーはこのページへのリクエストを記録できるため、必要なロジックを実行できます。

于 2012-06-28T22:10:10.727 に答える