1. ホーム
  2. javascript

[解決済み] 特定の時間帯にjavascriptの関数を呼び出す

2023-07-29 08:42:53

質問

例えば、午前10時00分00秒にjsの関数を呼び出したいのです。 どのように私は行うことができますか?

<script type="text/javascript">

var now = new Date();

var millisTill10 = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 30, 0, 0) - now;

setTimeout(function{openAPage(), setInterval(openAPage, 60*1000)}, millisTill10)

function openAPage() {

var startTime = new Date().getTime();
var myWin = window.open("http://google.com","_blank")
var endTime = new Date().getTime();
var timeTaken = endTime-startTime;


document.write("<br>button pressed@</br>")
document.write(new Date(startTime));
document.write("<br>page loaded@</br>")
document.write(new Date(endTime));
document.write("<br>time taken</br>")
document.write(timeTaken);

myWin.close()

}

</script>

このコードでは00.30にGoogleを開き、その後1分ごとにまた開くと思うのですが、このコードに何か問題があるのでしょうか?

どのように解決するには?

次のものが必要です。 setTimeout でタイマーを設定し 日付 を使用して、タイマーが作動するまでの時間を計算します。

var now = new Date();
var millisTill10 = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 10, 0, 0, 0) - now;
if (millisTill10 < 0) {
     millisTill10 += 86400000; // it's after 10am, try 10am tomorrow.
}
setTimeout(function(){alert("It's 10am!")}, millisTill10);