クリック、マウス移動、キーボード操作が一定時間発生しない場合にアラートを出したい
以下のコード.gsでは
画面上で2秒間上記の操作がない場合にアラートを出します
コード.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile("index");
}
|
意訳この機能がやること 指定したHTMLファイルを表示する |
index.html
<!DOCTYPE html>
<html>
<body>
<textarea></textarea>
<script>
var time_out;
var milisec = 2000;
document.addEventListener("load", set_timeout);
document.addEventListener("click", reset_timeout);
document.addEventListener("mousemove", reset_timeout);
document.addEventListener("keypress", reset_timeout);
function set_timeout(){
time_out = setTimeout('show_alert()', milisec);
}
function show_alert() {
alert(milisec / 1000 + "秒操作していません");
}
function reset_timeout() {
clearTimeout(time_out);
set_timeout();
}
</script>
</body>
</html>
|
意訳これはHTML5文書です
テキストエリアを置く
time_outの入れ物を用意する
ミリ秒を設定する
ページが読み込まれたらset_timeoutを実行する
ページの何処かがクリックされたらreset_timeoutを実行する
マウスカーソルが動いたらreset_timeoutを実行する
キーボードのキーが押されたらreset_timeoutを実行する
この機能がやること
設定したミリ秒が経過したらshow_alertを実行する
この機能がやること
アラートにメッセージを出す
この機能がやること
time_outの処理を停止する(つまりsetTimeout('show_alert()', milisec)を止める)
set_timeout()を実行する(つまりsetTimeout('show_alert()', milisec)を再度作動させる)
|
参考
Window setTimeout() Method
https://www.w3schools.com/jsref/met_win_setTimeout.asp
Window clearTimeout() Method
https://www.w3schools.com/jsref/met_win_cleartimeout.asp
Window setTimeout() Method
https://www.w3schools.com/jsref/met_win_setTimeout.asp
Window clearTimeout() Method
https://www.w3schools.com/jsref/met_win_cleartimeout.asp