我有一个力periodically_call_remote火立即
periodically_call_remote
,我想火马上(如同代码是不存在的setTimeout的),并通过电话定期。有没有一种很好的方式来做到这一点使用PCR,或者我必须推出自己的?
如果有帮助,我正在使用jQuery/jRails。
我有一个力periodically_call_remote火立即
periodically_call_remote
,我想火马上(如同代码是不存在的setTimeout的),并通过电话定期。有没有一种很好的方式来做到这一点使用PCR,或者我必须推出自己的?
如果有帮助,我正在使用jQuery/jRails。
总是有onload解决方案。
在你看来,你必须定义body标签:
<body onload="<%= remote_function(==same options used with periodically_call_remote==) %>" >
,它将调用上载远程功能,以及让参与periodically_call_remote魔术称之为在所需的时间间隔。大概在onload开始的同时,看到时钟如何在periodic_call_remote时间间隔开始。您应该获得所需的功能。
这不是一个完美的解决方案,但远程函数在第一毫秒内被调用。
def periodically_call_remote_starting_now(options = {})
page.call("starting_now_count = 0")
periodically_call_remote (options.merge(:frequency => 0.001, :condition => "++starting_now_count == 1"))
periodically_call_remote (options)
end
好吧,我没有足够的声望评论KandadaBoggu的帖子,所以写我的评论作为答案。
我很喜欢KandadaBoggu的回复最好的,但必须做一些修改才能让帮手方法奏效。我想到的代码如下。如果我的变化是不公平的(但更好,评论并让每个人都知道为什么),请随意投票给我。现就KandadaBoggu的代码修改如下:
def periodically_call_remote_starting_now(options = {})
result = ""
result << javascript_tag("starting_now_count = 0;")
result << periodically_call_remote(options.merge(:frequency => 0.001, :condition => "++starting_now_count == 1"))
result << periodically_call_remote(options)
end
否则我得到以下错误:
undefined local variable or method `page' for #<ActionView::Base:0x7fc37a6e2658>
嗯,那会的onclick调用它,但我知道你的意思:P 我最终使用remote_function解决方案。 – 2009-10-20 16:42:16
oops。我有点复制了我的其他代码中的onclick语句,并忘记将其更改为onload。 – EmFi 2009-10-20 16:45:33