如何打电话或在asp.net的MVC(C#)应用程序的Global.asax的的Application_Start使javascript函数?呼叫在asp.net mvc的javascript函数从Global.asax的
回答
你可以记得在会话或饼干(这是性能为JavaScript更容易,但更糟糕的/ etc)最后的“调用”时间,然后
function check() {
// or var lasttime = <%= Session["lasttime"] %>;
if (now - $.cookie("lasttime") > timeout)
{
$.cookie("lasttime", now);
performAction();
}
window.setTimeout(check, 1000);
}
您可以从$一次通话时间功能(文件) 。准备()。
但是请注意,它可能需要浏览器几秒钟来渲染页面,也可能撞到404或其他错误,页面将不起作用...... JavaScript是不是做调度操作的可靠方法。
另一种方式是让你的计时器服务器上。像上面这样的JavaScript函数将不时要求它,传递用户ID或类似的东西。这将防止页面重新加载期间定时器重置。但你必须经常请求。所以最好的解决办法是将两种技术结合起来:在服务器
- 运行定时器
- 当页面呈现,设定VAR inited = FALSE;
- 运行功能之上,但这样的:如果定时器= $ .getJSON( “/定时器的uid = X?”);(inited!)并且当您拥有精确的当前计时器时,只需继续使用JavaScript即可,无需服务器请求。
我喜欢并同意此答案。如果目标是防止某些javascript函数每分钟被多次调用一次,而无论用户在那段时间内点击了多少个独立页面,那么让javascript负责(通过cookie,如图所示)以便跟踪时间它最后运行是最有意义的。当然,你可以使用一个会话变量(它很可能依赖于cookies),但是你最终会注入到脚本中。唯一我不确定的是,你的评论是在javascript cookies中做这件事情对性能来说更糟? – Funka 2009-10-22 03:07:58
实际上,唯一需要注意的可能是用户打开了多个选项卡/窗口,以确保它们并非全部都在竞争计时器! – Funka 2009-10-22 03:18:18
每个请求都会发送Cookie,即使是静态文件也是如此。是的会话依赖于cookie(通常),但只有一个;如果添加更多,则会增加流量。用户可以关闭cookies。至于多页面,这是结合了客户端 - 服务器解决方案的理由,因为在服务器上总是会有单个的定时器实例 - 可以联系一次或定期检查计时器。 – queen3 2009-10-22 10:35:22
“JavaScript函数得到的数据被示出为从数据库通过jquery的用户。JavaScript函数将周期性地使用的setTimeout执行”
这不会是做到这一点的地方。
你有没有想过用你的母版?
我现在在主页面中使用此调用。但每次我导航到其他页面时,它都会重置间隔。说我需要调用js函数每隔1分钟,当我从第一个到第二个页面浏览,时间间隔被重置,我需要等待该页面1分钟的js函数获取调用 – Prasad 2009-10-21 11:46:26
这就是网络的性质。每个页面都是独立的。顺便说一句,如果我是你,我会使用会话来跟踪用户在页面上出现的时间。然后使用一些逻辑来检查当前时间与会话时间,然后如果它违反了1分钟输出警报脚本(或任何你喜欢的) – LiamB 2009-10-21 11:53:24
你应该在$(document).ready中调用函数一次)并且还通过setTimeout。然后它在第二个1和60/120/180 – 2009-10-21 13:20:37
您如何检查着陆页负载时的应用程序级别变量(主页面也会这样做)并在其中注册任何javascript并设置变量。
如果变量设置,您可以跳过注册。
- 1. Asp.Net MVC呼叫从视图
- 2. ASP.NET呼叫定义JS-函数的RegisterStartupScript
- 3. 呼叫嵌套函数在Javascript
- 4. 呼叫器在asp.net中没有javascript
- 5. 呼叫从剃刀代码JavaScript函数在局部视图
- 6. 呼叫从一个javascript
- 7. 调用JavaScript函数在asp.net网站的服务器呼叫形成后
- 8. Doxygen的呼叫/呼叫者图形引用缺少Fortran函数
- 9. 从查看呼叫模型函数
- 10. 呼叫asp.net Membership类?
- 11. 呼叫MVC行动
- 12. Yii的CGridView按钮 - 呼叫参数化的javascript函数
- 13. 呼叫不同jQuery函数
- 14. 延迟呼叫MATLAB函数
- 15. ajax函数内呼叫
- 16. JavaScript的setTimeout函数的行为不正常后1个呼叫
- 17. 寻呼在asp.net mvc的
- 18. 呼叫使用动作呼叫之前其他方法asp.net MVC 2
- 19. 呼叫数组超时 - JavaScript的
- 20. 呼叫功能,在Javascript
- 21. 呼叫实用工具类的函数
- 22. 呼叫未定义的函数mysql_real_escape_string()
- 23. 呼叫'fopen'没有匹配的函数
- 24. 呼叫“BubbleSort”没有匹配的函数
- 25. 呼叫模板函数的错误
- 26. 呼叫默认的mongoid函数
- 27. 的参数在呼叫
- 28. 呼叫在IE
- 29. 呼叫成员函数在非对象
- 30. 呼叫在一个异步函数
你想达到什么目的? – Lazarus 2009-10-21 11:39:00
javascript函数通过jquery从数据库中获取要显示给用户的数据。 javascript函数将使用setTimeout定期执行。我需要((文件)。就绪不在$)只有一次调用这个javascript函数,这样的setTimeout将再次照顾调用它的周期性 – Prasad 2009-10-21 11:43:38
哪些错误在$调用的setTimeout(文件)。就绪? – LiamB 2009-10-21 11:44:29