0

私は JavaScript があまり得意ではありませんが、私がやろうとしていることはかなり簡単で、ほとんどそこにいますが、タスクを完了する方法がわかりません。「Feebackify」と呼ばれる Web サイトから展開した JavaScript がいくつかあります。ユーザーに、訪問に関するフィードバックを提供するためのフォームが表示されます。それはうまく機能しますが、それを機能させるには、ユーザーがボタンまたはリンクを押す必要があります...これは望ましくありません。ページを離れようとしたときにjavascriptを実行したいです...別のページに移動しますサイトのページまたは終了。次のコードを使用してみました:

 <script type="text/javascript">
     window.onbeforeunload = function () {

         FBY.showForm(4530); 

     }
 </script> 

元のスクリプトは次のとおりです。

<script type="text/javascript">
    var fby = fby || [];
    //fby.push(['showTab', { id: '4530', position: 'right', color: '#FF1F3A'}]);
    (function () {
        var f = document.createElement('script'); f.type = 'text/javascript'; f.async = true;
        f.src = '//cdn.feedbackify.com/f.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(f, s);

    })();  
</script>

私のコードは「何か」をうまく実行し、少なくとも期待どおりにフォームをフラッシュしますが、スクリプトを実行しません...誰かが私にいくつかのポインタを与えることができます. ありがとうございました

4

1 に答える 1

0

このようなことができます。イベントを完全に理解するには、 window.onbeforeunloadを参照してください。

概要

ウィンドウがそのリソースをアンロードしようとしているときに発生するイベント。ドキュメントは引き続き表示され、イベントはキャンセル可能です。

function sure(evt) {
    var div = document.createElement("div");

    div.textContent = "Do things before checking the user want to leave, dynamically load your form";
    document.body.appendChild(div);

    // The question that will the user will be asked
    return "Leave page?";
}

window.addEventListener("beforeunload", sure, false);

jsfiddle

于 2013-04-26T21:38:57.340 に答える