2016-10-15 3 views
0

こんにちは、私はこれは私がこれまで持っているものであるJavaScript関数を呼び出すようにしたい:アンロード時にjavascriptを実行しますか?ユーザーはタブを閉じるボタン、戻るボタン、リンクをなどクリックしたときに

<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" 
       language="javascript" type="text/javascript"></script> 

<script type="text/javascript"> 

       $(window).unload(function(){ 
        pageleave(); 
       }); 

       if(loged){ 
        var Art = "<?php echo $id;?>"; 
        var User = "<?php echo $email;?>"; 
        var olikes = "<?php echo $Olikes;?>"; 
        var odislikes = "<?php echo $Odislikes;?>"; 
        var state = "<?php echo $state1; ?>"; 
        function pageleave() { 
         $.get("dealLikes.php?article=Art&user=User>&state=1&likes=likes&dislikes=dislikes&Olikes=olikes&Odislikes=odislikes&prev=state"); 
         alert("done"); 
         return false; 
        } 
       }else{} 


       </script> 

機能は、PHPファイルを実行する必要があります。しかし、それは私がアンロード機能をアラートでテストしていて、それは動作しませんでした。私はインターネットで検索しましたが、私が見つけたものは何も動かないでしょう。何が間違っているのですか?

+2

'unload'イベントは最高で信頼できず、ブラウザごとに動作が異なり、グアランクライアントが離れる前に何かが実際に起こることになるでしょう。 – adeneo

答えて

-1

申し訳ありませんが、私はあなたがjQueryを使用しているのを見ていませんでした。それfreatureはまた、これはこれを行うための実際の方法は、とにかく、私はその瞬間にあなたが行うことだと思います

window.onbeforeunload = function() { 
    return "Bye now!"; 
}; 

のようなものです$(window).unload is not firing

重複質問である1.8で非推奨と3.0

で削除されました(非同期リクエストのような)jsイベントループにプログラムのコントロールを返すものは、ウィンドウを閉じます。

+2

私はあなたが間違っていると信じています、 'window.unload'はありません、実際は' window.onunload'ですが、OPがjQueryを使っているので、 '$(window).unload(...'は正しい – adeneo

+0

まだ動作していません – Jack

+0

jQuery 3.1.1にはアンロードメソッドがありません – adeneo

関連する問題