Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在一天中的特定时间调用javascript函数_Javascript - Fatal编程技术网

在一天中的特定时间调用javascript函数

在一天中的特定时间调用javascript函数,javascript,Javascript,例如,我想在上午10.00.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,

例如,我想在上午10.00.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>

var now=新日期();
var millistal10=新日期(now.getFullYear(),now.getMonth(),now.getDate(),0,30,0,0)-now;
setTimeout(函数{openAPage(),setInterval(openAPage,60*1000)},毫秒10)
函数openAPage(){
var startTime=new Date().getTime();
var myWin=window.open(“http://google.com“,”空白“)
var endTime=new Date().getTime();
var timetake=结束时间开始时间;
文档。写入(“
按钮按下@
”) 文件写入(新日期(开始时间)); 文档。写入(“
页面加载@
”) 文件。写入(新日期(结束时间)); 文档。写入(“
所用时间
”) 文件。书写(耗时); myWin.close() }
我希望从这段代码在00.30它会打开谷歌,然后每1分钟后,它会再次这样做?这段代码有什么问题?

您需要设置一个计时器,并计算计时器在触发前需要运行多长时间

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);
var now=newdate();
var millistal10=新日期(now.getFullYear(),now.getMonth(),now.getDate(),10,0,0,0)-now;
如果(毫秒10<0){
millisTill10+=86400000;//现在是上午10点以后,明天上午10点试试。
}
setTimeout(函数(){alert(“现在是上午10点!”)},millist10);

假设代码位于将在10:00之前加载且仍将在10:00查看的网页上,则可以使用
setTimeout()
设置定时事件。该函数需要执行一些JS语句,以及执行前的毫秒数。通过内置的日期函数,您可以很容易地找到第二部分。

我在特定时间运行脚本的解决方案,顺便说一句,没有错误检查负超时

//year, month 0-11, date, hour, min (can add ,sec,msec)
var eta_ms = new Date(2015, 0, 21, 17, 0).getTime() - Date.now();
var timeout = setTimeout(function(){}, eta_ms);

工作谢谢。。还有一件事,我想从上午10点起每隔5分钟调用该函数,你可以使用<代码>间隔=设置间隔(func,5*60*1000)然后您可以
清除间隔(interval)
当您不想继续时。间隔从上午10点开始有效,或在我打开页面时有效??setTimeout(openAPage,millistal10);//没关系,上午10点我的恐惧电话。。但是在我写setInterval(openAPage,5*1000)之后;不是在上午10点之后,而是在页面显示间隔开始工作之后。将其更改为setTimeout(函数{openAPage(),setInterval(openAPage,5*1000)},millist10)。然后,初始计时器(在10时关闭)将执行对openAPage的初始调用,并设置间隔。