Ownedmedia ウェブ制作に役立つコンテンツを発信中!

javascript 2019.01.06

javascriptで一定時間ごとにページの自動リロードを行う

Tags: ,,

2019年一発目の記事投稿です。今年も当サイトのオウンドメディアをよろしくお願いいたします。ありがたいことに新年早々、コーディング作業に追われているところで、その時に使えそうなものをメモしておきたいと思います。今回はタイトルの通りなのですが、ページの自動リロードを一定時間ごとに行うものです。最近ではスポーツのリアルタイム実況サイトなどでよく見かける機能ですね。

 

コーディング作業中は基本的にGulpでいろんなタスクを走らせており、その中でもファイル更新のタイミングでローカルサーバーと連携したページの自動リロードなどを使っています。(参考記事「Gulp + Browsersyncを使ったブラウザ自動リロードでコーディング効率化を目指す」

 

これも大変便利なのですが、使っているうちにメモリ消費量がかなり増えてきて、だんだんPCの動作が重たくなってくることもしばしばあります。。特に開発専用のPCではなく、出先で作業する場合などはあまりメモリを積んだPCでない場合もあるので、ストレスに感じていました。

 

とはいえ、いちいちブラウザのリロードを行うのも面倒、、ということで、javascriptでタイマーを設定したページの自動リロードを行うスクリプトを入れてみました。と言っても数行のコードで実装できてしまいます。

【javascript】

const timer = 60000    // ミリ秒で間隔の時間を指定
window.addEventListener('load',function(){
  setInterval('location.reload()',timer);
});

 

「setInterval」は一定時間ごとに実行させる関数です。引数に実行させる関数と、間隔の時間をミリ秒で指定します。ただし、ページがロードされたイベントで実行させているため、実際には一定時間経過後に実行させる関数の「setTimeout」を使っても同じようになります。タイマーの時間は変数で保持させても、直接引数に指定してもどちらでもOKです。

 

ちなみに他のサイトにもあった情報によると、下記のHTMLのメタタグでも自動リロードが設定できるようですね。リロードまでの秒数を指定し、こちらではリダイレクト先のURLも直接指定できます。ただし、デバッグ目的でHTMLを編集するのはワークフロー上あまりよろしくないのでしょうか、、

<meta http-equiv="refresh" content="[秒数]; URL=[リダイレクトURL]">

 


 

いかがでしょうか、このようにコーディング効率化目的で使うのもいいですし、実際に自動リロード機能として実装する時にも使えるのではないでしょうか。

 

(参考にさせて頂いたサイト)
ブラウザを自動的にリロードするいくつかの方法

この記事を書いた人

オガワ シンヤ

DesignSupply.代表 / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

  • Twitter

コメントフォーム

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。

内容に問題なければ、お名前・ハンドルネームとメールアドレスを入力いただき、下記の「コメントを送信」ボタンを押してください。

CAPTCHA


この記事もよく読まれています

Scroll to Top
ご質問・ご相談はありませんか ?