1

また、終了ポップアップも好きではありませんが、来るべきフェスティバルの日に統合したいので、訪問者に感謝し、特別なものを提供したいと思います. 私は終了時にリダイレクトするための以下のコードです。

var exitPop = false;
var nonFire = false;
window.onbeforeunload = function () {
    if(!exitPop){
        exitPop=true;
        return 'Happy Festival Day!';
    }
};

setInterval(function(){
    if(exitPop && !nonFire){
        nonFire = true;
        window.location.href = 'http://google.com';
    }
}, 200);

コメントを行う際の基本的なリダイレクトの下でこのコードを使用しています

<script type="text/javascript"> 

window.fbAsyncInit = function() {
    FB.Event.subscribe('comment.create',
    function (response) {
        window.location = "http://domain.com";
    });
    FB.Event.subscribe('comments.remove',
    function (response) {
        window.location = "http://domain.com";
    });   
};

(function() {
    var e = document.createElement('script');
    e.async = true;
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
}());
//]]>
</script>

そして、コメントする訪問者に出口リダイレクトを表示したくないのは、訪問者を悩ませているからです。出口をクリックしたときにのみコードを実行したいのです。したがって、コメントリダイレクトの例外を作成し、コメンターにポップアップを表示してはならないコードを含める必要があります

4

2 に答える 2

0

ポップアップウィンドウは、リンクによって開かれた場合にのみブロックされません。したがって、終了時に何かをロードしようとすると、機能しません。

これは実用的な例です:http : //swip.codylindley.com/popupWindowDemo.html誰かが書いたjqueryの小さなライブラリを使用しています。ソースをチェックアウトできます。

基本的に、ポップアップウィンドウがonclickで開く場合は問題ありませんが、それ以外の場合はブロックされます。

特定の企業がどのようにそれを回避するかはわかりませんが、あらゆる種類のハッキングが最終的には塞がれます。私がそれを試みた1つの方法は、リンクに対してonclickアクションをトリガーすることでしたが、それでも機能しませんでした。したがって、それはかなりばかげた証拠です。

于 2012-06-26T05:05:57.200 に答える
0

これを行うには、javascriptでCookieを設定します。これはストレートJavaScriptで行うことができますが、jquery.cookiesプラグインを使用するとコードが短くなるため、その方法を示すことはできません。

comment.create関数で、このユーザーがコメントを作成したことを示すCookieを設定します。

 FB.Event.subscribe('comment.create',
    function (response) {
        $.cookie('has_commented', 'true');
        window.location = "http://domain.com";
 });

次に、exit関数のCookie値を確認します。

if($.cookie('has_commented') == true) {
    return 'Happy Festival Day!';
}

Jquery Cookiesプラグインはこちら:https ://github.com/carhartl/jquery-cookie/blob/master/README.md

または、ストレートjavascriptで同じことをしたい場合-同じ概念-しかし少し厄介です..ここでの情報:http ://www.w3schools.com/js/js_cookies.asp

于 2012-06-26T05:07:44.620 に答える