19

もちろん、支払いボタンに続く以外の方法で注文プロセスが完了する前に、ユーザーが注文プロセスを離れようとした場合に警告を実装することを検討しています。

このようなもの:

<script type="text/javascript">
window.onbeforeunload = function(){
return 'You must click "Buy Now" to make payment and finish your order. If you leave now your order will be canceled.';
};
if document.getElementsByClassName('eStore_buy_now_button').onclick = function(){
};
</script>

それはいくつかの点で有害であると確信していますが、私が試みていることを説明できる最良の方法です。また、ブラウザによっては、私が書いた実際の警告ではなくデフォルトのテキストが表示されることも理解していますが、それで問題ありません。

いくつかの注意点として、この 1 つの単純なタスクだけのために jQuery をロードするのではなく、単純な古い JS を使用したいと思います。ページに設定はありませんので、ページを離れるか「今すぐ購入」をクリックするだけの簡単な操作です。

更新

これは私のためではなく、ユーザーのためです。それは明示的に説明されていますが (何をすべきか)、私はユーザーが銃を飛ばして、プロセスが本当にすぐに満足して終了する前に去っていると思います.メッセージのような考え方を無視してください. 簡単な 2 ステップのプロセスです。プロジェクトの詳細を送信してから、支払いを行います。なんらかの理由で、彼らは詳細を送信し、約 50% の時間で支払いを完了しません。そして、「それで、プロジェクトに取り組んでいますか、それとも何ですか?」そして、「あなたは注文を完了していません」と説明する必要があります。彼らは「おっと、どうぞ」とフォローアップします。

残念ながら、私はこれをマーケティングと Web デザインの 101 と呼んでいます。ルール 1、人々は愚かです。失礼または悲観的な意味で受け取られるべきではありません。基本的には、5 歳の子供でもできるような簡単なものを作成できるように、誰もがあなたのデザインや指示に頭が悪いと仮定するという考え方です。ユーザーを人質にしないことに完全に同意します。ただし、このページは、彼らが開始した意図した注文プロセスの途中でのみ到達します (このページは、ブラウジングのような方法で到達することはありません)。したがって、ユーザーのよくある間違いを自分自身から救うというのは、かなり正当な使用例だと思います。技術に精通していない顧客の人口統計学であるため、正直なところ、そのようなガイダンスが必要です。

4

2 に答える 2

27
document.querySelector('.eStore_buy_now_button').addEventListener("click", function(){
    window.btn_clicked = true;      //set btn_clicked to true
});

window.onbeforeunload = function(){
    if(!window.btn_clicked){
        return 'You must click "Buy Now" to make payment and finish your order. If you leave now your order will be canceled.';
    }
};

btn_clickedこれにより、がに設定されるまで、ページがアンロードされる(たとえば、ページを離れる)たびにユーザーに警告されtrueます。

デモ:http://jsfiddle.net/DerekL/GSWbB/show/

于 2012-06-17T23:46:33.227 に答える
0

やらないでください。

使いやすさに関しては紙一重です。注文しようと思ったのに、うっかりページを離れてしまうこともあるかもしれません。一方で、すぐに迷惑になる可能性があります。ブラウザが以前のセッションを保存するように設定されている場合 (つまり、次の起動時にタブを再度開く)、1 つのページがこのように動作すると、次回はそのタブのみが再度開かれ (Mac Safari で確認)、残りのセッションは破棄されます。タブ。彼らはあなたから二度と買わないでしょう!

注文がまだ送信されておらず、アクションを確認する必要があることをインライン メッセージでユーザーに明確にすることをお勧めします。彼らはやめました。そのような情報を Cookie に保存して、その後のページ訪問時にユーザーに「... の注文が不完全です。今すぐ注文を完了しますか?」というメッセージが表示されるようにするのは簡単なことです。

別の方法として、非アクティブ アラート (オンライン バンキングでセッションの有効期限が近づいたときにプロンプ​​トが表示されることを考えてください) を利用して、ユーザーが気が散った場合に「注文完了」ページに戻すことができます。

このイベントに依存したいと確信している場合は、この質問への回答がより良い洞察を提供する可能性があります。基本的に、基本的なテキスト警告を超える機能またはその実装は、ブラウザー間で一貫性のない (?) 実装と、ユーザーによってブロックされる可能性があるため、依存すべきではありません。

別の更新:

Gmail などで使用されているこのアプローチに関する Derek のコメントに促されて、代わりに固執し、AJAX 呼び出しに依存してページの状態を保存することを提案する記事に出くわしました。onunloadこれは、ユーザーがピックアップできるようにすることに関する私の考えを裏付けています。 JavaScriptイベントがトリガーされない場合でも、彼らが去った場所。

于 2012-06-18T00:35:34.263 に答える