タイマーを設定し、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>