2

ブーメランでこれを行うべきではない正当な理由はありますか:

<script type="text/javascript">
        if (Math.random() < 0.005) {//one time in 200
            document.write(
                '<scr' + 'ipt src="/scripts/boomerang.js" type="text/javascript"></scr' + 'ipt>' +
                    '<scr' + 'ipt type="text/javascript">BOOMR.init({'+
                        'user_ip: "'+ '<%= Request.UserHostAddress %>' +'",'+
                        'site_domain: "' + '<%= //TODO from config%>' + '",' +
                        'beacon_url: "/Handlers/Boomerang.ashx",'+
                        'BW: {base_url: "/Resources/images/Boomerang/"}'
                    +'});</scr' + 'ipt>'
            );
        }
        else if (Math.random() < 0.1) {//one time in ten
            document.write(
                '<scr' + 'ipt src="/scripts/boomerang.js" type="text/javascript"></scr' + 'ipt>' +
                    '<scr' + 'ipt type="text/javascript">BOOMR.init({'+
                        'user_ip: "'+ '<%= Request.UserHostAddress %>' +'",'+
                        'site_domain: "' + '<%= //TODO from config%>' + '",' +
                        'beacon_url: "/Handlers/Boomerang.ashx",'+
                        'BW : { enabled : false }'+
                    '});</scr' + 'ipt>'
            );
        }
</script>

それは返されたタイミングを無効にしますか?

マルチページ メソッドを使用して結果を取得することについてはあまり心配していません。タイミング API から結果を受け取るだけで十分です。

4

2 に答える 2

2

すべてのページにブーメランを含めて、サンプリング レートに基づいて init の呼び出しのみを変更しないのはなぜですか? このようなもの:

<script src="/scripts/boomerang.js"></script>
<script>
    var rand=Math.random(), test="";
    if(rand < 0.05) {     // one time in 200
        test="BW";
    }
    else if(rand < 0.1) { // 19 times in 200
        test="NOBW";
    }
    if(test) {
        BOOMR.addVar({
            test: test
        }).init({
            user_ip: "<%= Request.UserHostAddress %>",
            site_domain: "<%= //TODO from config%>",
            beacon_url: "/Handlers/Boomerang.ashx",
            BW: {
                base_url: (test == "BW" ? "/Resources/images/Boomerang/" : ""),
                enabled:  (test == "NOBW" ? false : true)
            }
        });
    }
</script>

このスクリプトとあなたのバージョンの主な違いは、addVar({ test: test })どのバージョンが使用されたかをビーコン コレクターに伝えるための追加です。randデバッグに役立つ場合は、値を渡すこともできます。

単一の linode ボックスから世界中の何百万人ものユーザーのブーメランをロードするのにかかる時間を測定したところ、ロード時間の中央値は 68 ミリ秒でした (スクリプトはブラウザによって 7 日間キャッシュされています)。ただし、スクリプトは非同期でロードするため、ブーメラン自体がページのロード時間に影響を与えている場合は、これを考慮する必要があります。

于 2012-04-24T15:29:08.427 に答える
0

@bluesmoonでランダム化の最良の方法を聞いてみませんか... 彼は噛まないでしょう ;-)

于 2012-04-24T13:59:03.363 に答える