とっちゃん@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…指定した時間ごとに何度も処理を実行
参考になったサイト様


教訓:スクリプトなどの情報は「英語」で検索すべし
スクリプトやプログラミング関係の情報は海外サイトの方が情報量が圧倒的に多い気がするので、「英語」で検索すると望む情報に早くたどり着ける傾向が高いという気付きを得ました。
英語だと読めないじゃんと思われるかもですが、単語を拾い読みしていけばなんとなく分かるし、変な日本語にはなるけどGoogle翻訳もあるし、割となんとかなります。
おわりに
プログラミングはまだまだ素人の域を出ないレベルですが、また一つできることが増えて嬉しい今日この頃。
引き続き一歩ずつ精進して参ります。
本記事がどなたかの参考になれば幸いです。
今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧
コメント