0

ライブ ストリーミング サイトを作成していますが、10 件中 9 件のユーザーの問題がブラウザーの更新で解決されています。

だから...ボタンをクリックするだけですべてのビューアを強制的に更新する方法を見つけようとしています。

ただし、この機能にアクセスできるのは管理者だけにしたいので、このボタンをテーマ管理セクションに配置したいと思います。

「location.window」オプションを指す多くのスレッドをいじって読みました。しかし、すべての視聴者がすぐにライブ配信できるようにする方法については、まだ確信が持てません。

4

2 に答える 2

0

タイマーを設定し、AJAX を介して xx 秒ごとにサーバーをポーリングすることで、このようなことを実現できます。管理者が「強制更新」ボタンを押すたびに、ブラウザーは次の「ポーリング」でページをリロードします。

例えば;

サーバーでは、「トークン」は JSON ファイル内に保存されます。

token.json:

{currentToken:1039593029484930294820}

各ページには JavaScript が含まれており、xx 秒ごとにサーバーをポーリングしてトークンをチェックします。トークンが変更されている場合は、ページを更新してください。

管理者が強制的に更新したい場合、トークンは無効になり、新しいトークンが生成されて内部に保存されtoken.jsonます。まだ古いトークンを使用しているすべてのユーザーは、ページを更新する必要があります。

例 (jQuery を想定)

<script type="text/javascript">

    $(document).ready(function() {

        var currentToken;

        var checkToken = function() {
            $.getJSON('/token.json', function(data) {
                if (!currentToken) {
                    // first poll
                    currentToken = data.currentToken;
                    return;
                }

                if (currentToken !== data.currentToken) {
                    // a new token is set by the admin. Reload the page
                    window.location.reload();
                }
           });
        };

        // check if the token is still valid every 2 seconds
        window.setTimeout(checkToken, 2000);

    });
</script>  
于 2013-03-28T23:52:29.823 に答える