0

私は Jquery を初めて使用し、誰かにお金を払ってスクリプトを開発してもらいました。このスクリプトを自分の Web サイトに追加すると、帯域幅が 1 MB から 5 MB に跳ね上がることに気付きました。私は多くのユーザーを抱えているので、Jquery の部分がすぐに更新されると信じています。私の質問は、以下のスクリプトで帯域幅を大量に使用しないようにするには、何を変更する必要があるかということです。

ありがとうございました!

<script>

current_time = 1342987067;
start_at = 1342986987;
waiting_time = 120;
break_time = 9999;
view_1 = 'Text removed for example<br>';
view_2 = 'Text removed for example<b><span id="countdown-value"></span></b> seconds.<br>';
view_3 = 'Text removed for example... currently in progress...<br>';
winner = "Text removed for example";

function changeView() {
    if (start_at + waiting_time > current_time) {
        if (break_time < waiting_time) {
            return view_1 + "\n" + winner;
        } else {
            return view_2 + "\n" + winner;
        }
    } else {
        return view_3 + "\n" + winner;
    }
}

function setView() {
    $("#countdown-holder")[0].innerHTML = changeView();
}

function reload() {
    current_time ++;
    break_time = start_at + waiting_time - current_time;
    setView();
    if (break_time <= waiting_time) {
        if ($("#countdown-value")[0] != null)
            $("#countdown-value")[0].innerHTML = break_time;
    } else {
        if ($("#countdown-value")[0] != null)
            $("#countdown-value")[0].innerHTML = break_time - waiting_time;
    }
    setTimeout("reload()", 1000);
}
setTimeout("reload()", 1000);
setView();

</script>
<script>

function setBreakTimeCountdown() {

    breakTimeCountdown = parseInt($("#countdown-value")[0].innerHTML);

    breakTimeCountdown --;

    if (breakTimeCountdown < 0) {

        breakTimeCountdown = 0;

        reload();

    }

    $("#countdown-value")[0].innerHTML = breakTimeCountdown;

    setTimeout("setBreakTimeCountdown()", 1000);

}

setTimeout("setBreakTimeCountdown()", 1000);

</script>
4

2 に答える 2

1

そのJavaScriptの一部の呼び出しは、リクエストを直接トリガーしているようには見えません。

ただし、変数view_1view_2view_3、およびのいずれかに、winner他のメディア リソースへの参照を含む HTML が含まれていると、サーバーへのリクエストがさらにトリガーされ、帯域幅の使用率が増加する可能性があります。

于 2012-07-22T20:09:36.900 に答える
0

スクリプト内の何もあなたのサイトにコールバックしているようには見えないので、問題は jQuery 自体をロードしていると思いますか?

最も簡単な解決策は、 Google Libraries APIを使用することです。下にスクロールして jQuery リンクを取得し、ローカルの jQuery をそれに置き換えます。代わりに Google の帯域幅を使用します。

于 2012-07-22T20:07:46.127 に答える