有没有一种方法可以在页面加载时执行javascript函数,然后再不用10分钟。即使用户浏览到另一个页面?如果他们不希望该功能在10分钟之后再次运行?在加载时运行一个函数,然后每隔10分钟
回答
即使用户浏览到另一个网页?
没有。一旦页面关闭,您将无法控制发生的情况。
使用setInterval
或setTimeout
使未来的某事发生。
但是一旦用户离开你的页面的计时器将被取消 - 的全部内容将被卸载。
您可以使用:
setTimeout(alert('After 10 secs'),10000);
只需创建要执行的onload功能,对DOM准备调用它一次,再使用的setTimeout()
<script type="text/javascript">
function doSomething() {
alert("Doing something here");
}
window.onload = function() {
doSomething(); //Make sure the function fires as soon as the page is loaded
setTimeout(doSomething, 600000); //Then set it to run again after ten minutes
}
</script>
编辑: 没”即使他们在另一个页面上,也不会注意到该部分。如果它是您网站上的另一个页面,则可以在页面加载后设置Cookie,并在设置cookie时添加时间戳。在其余页面的window.onload中,您可以读取该时间戳,并计算是否已过10分钟。如果有,请再次调用该函数。
编辑:10分钟是600000毫秒
如果用户访问另一个网站在相同的标签,你的运气了;一旦你的网页关闭,JavaScript就会死亡。
但是,如果用户只是访问您的网站上的其他网页,那么您很幸运。你可以这样做,如下所示......但它需要对网站进行基本的重新设计。你必须使用一个框架来包装XHR中的所有链接点击(XML HTTP请求),并用新数据替换页面,给你一个错觉,即点击链接(你是这样的,但浏览器永远不会刷新页)。这可以通过iframe来完成。这是GMail的工作原理。
你可以编写这样一个自己的框架,但是你最好使用具有对伪造历史(或者你的网站将不会与用户历史很好地工作),URL重写支持的框架。
要回答你的问题有关“每10分钟”,(因优化一些浏览器可能有问题)使用setInterval(myFunction, 10*60*1000)
。
假设您使用服务器的语言,您可以设置在启动一个会话变量(启动日期/时间),然后使用setInterval的,比较当前的时间启动日期/时间。
function callfunction() {
// do something
}
window.onload = function() {
// Initial function call
callfunction();
setInterval(function() {
// Invoke function every 10 minutes
callfunction();
}, 600000);
}
您需要将状态保存在远程服务器中。
这是你的步骤:
的JavaScript函数加载,无论身在何处时,它加载或。
加载时(javascript fn)使用UNIQUEID调用远程服务器,该服务器可以通过cookie或会话变量从登录用户标识中获得...无论如何。
您使用此类UNIQUEID向服务器发送请求(通常通过ajax),您的服务器会告诉您这样的进程是否必须重新启动,或者您应该避免它(页面跳转作为示例或刷新页面不同的浏览器使用相同的登录名,这取决于您的业务逻辑)。
来自step3的响应用于执行/初始化JavaScript加载器或不加载。
- 1. 如何每10分钟在一个服务中运行一个函数?
- 2. 在每分钟开始时运行一个函数?
- 3. JS 2分钟倒计时,然后执行一个函数?
- 4. 在x分钟再做一次事情,然后每隔n分钟做一次
- 5. Track Gps每隔10分钟在android
- 6. 每10分钟在后台执行一次数据库操作
- 7. 如何在循环中使用c#每10分钟运行一次函数?
- 8. 如何每10分钟在后台运行服务?
- 9. 运行JavaScript命令每隔X分钟
- 10. 生成报告每隔10分钟
- 11. Automatic每隔10分钟屏幕截图
- 12. 每次图像加载完成后运行一个函数
- 13. 如何使js函数立即运行,然后以10秒的间隔运行?
- 14. 调用PHP函数每隔x分钟
- 15. 每小时10分钟运行计时器
- 16. 在JQuery中运行另一个函数之后加载函数
- 17. Javascript - 在另一个函数加载后运行函数*?
- 18. 我如何在jquery中每分钟运行一次vb函数
- 19. 在后台每5分钟执行一次函数
- 20. 在5秒后显示div,然后每隔1分钟刷新一次div
- 21. 如何加载一个页面,然后运行一个jQuery函数?
- 22. 每次在CodeIgniter中加载一个页面时运行一个函数
- 23. android - 每10分钟获取一次光照水平10分钟
- 24. bash:运行一个命令n分钟,然后SIGHUP它
- 25. 每10分钟运行一次PHP文件?
- 26. 如何让Ruby每10分钟运行一次任务?
- 27. tsql在每个10分钟的时间间隔内返回最后一个价格
- 28. Android:在BOOTUP上启动服务,然后安排服务每10分钟运行一次?
- 29. 每X分钟运行一次函数 - 蟒蛇
- 30. 每10分钟将数据从一张表加载到另一张表 - Cassandra
仅供参考,现在正在寻找这种现象,多年后。一个cookie可以保存上次运行的时间,然后在页面加载时将超时设置为10分钟 - (cookieStartTime - timeNow) – Luke3butler