プログラミング

【setTimeout】JavaScript(ユーザースクリプト)の実行を遅らせる方法

プログラミング
この記事は約2分で読めます。

とっちゃん@nyanco! です。

今回はTampermonkeyなどのUserScript(ユーザースクリプト)の実行タイミングを遅らせる方法の備忘録です。

肉玉にゃんこ

JavaScriptなのでユーザースクリプトとしてだけではなく、web関連で色々使えますにゃ〜

スポンサーリンク

UserScriptは実行されるのが速すぎる

Tampermonkeyなどで使えるUserScript、ちょっとした動作を実行させるなどの用途で毎日とても便利に使っております。

が、動作するのが速すぎるがゆえ、ちょっと読み込みに時間がかかるサイトなどで使うとページが読み込まれる前に発動して何も起こらず終わってしまうことも良くあります。

スクリプト実行前に数秒待たせるといったことができないかなぁと思い、調べてみると意外と簡単にできました!

【setTimeout】Scriptの実行を遅らせる

「setTimeout」というJavaScriptのタイマー処理ができる関数を以下のように記述して使います。

setTimeout( 実行する関数名, 待機時間をミリ秒で指定 );

▼サンプルコードはこちら。

(function() {
// 3,000ミリ秒(3秒)後に 関数「Test」 を実行
setTimeout(Test, 3000);
// 関数「Test」を定義 ※任意の関数名でOK
function Test() {

//実行させたいスクリプト処理内容を記述

}
})();

ちなみに似た関数として「sevInterval」という関数がありますが、違いは以下の通り。

  • setTimeout…指定した時間の後に処理を一度だけ実行
  • setInterval…指定した時間ごとに何度も処理を実行

参考になったサイト様

Delay function with greasemonkey
I need a code that when CheckForZero happens for the first time, after 30 seconds happens again and it go on every 30 seconds. var waitForZeroInterval = setInt...
JavaScriptでsetTimeoutを使う方法【初心者向け】現役エンジニアが解説 | TechAcademyマガジン
プログラミング初心者向けに、JavaScriptで【setTimeout】を使う方法を解説した記事です。setTimeoutは、繰り返さずに一度だけ、一定時間後に特定の処理を行うことができます。clearTimeoutも合わせて紹介。

教訓:スクリプトなどの情報は「英語」で検索すべし

スクリプトやプログラミング関係の情報は海外サイトの方が情報量が圧倒的に多い気がするので、「英語」で検索すると望む情報に早くたどり着ける傾向が高いという気付きを得ました。

英語だと読めないじゃんと思われるかもですが、単語を拾い読みしていけばなんとなく分かるし、変な日本語にはなるけどGoogle翻訳もあるし、割となんとかなります。

おわりに

プログラミングはまだまだ素人の域を出ないレベルですが、また一つできることが増えて嬉しい今日この頃。

引き続き一歩ずつ精進して参ります。

本記事がどなたかの参考になれば幸いです。

今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧

コメント