我刚刚将我的Dolphin Smalltalk+Seaside应用程序移植到最新的Pharo Smalltalk 4.0和Seaside 3.1。在它中,我需要每秒从(浏览器)客户端回调到(Pharo)服务器以更新视图。
我有一段代码可以每秒自动按下"更新"按钮。但在港口到达Pharo:后,它就不再工作了
html script: (
( html jQuery: '#updateButton' )
call: 'click';
interval: 1000 ).
我在网上搜索了其他(更优雅的?)解决方案,但似乎无法让它们发挥作用。有人能给我一个如何进行的提示吗?
这是由上面的代码生成的JavaScript代码,用于Dolphin+Seaside:
<script type="text/javascript">
/*
<![CDATA[/setInterval(function(){$("#updateButton").click()},2000)/]]>
*/</script>
我假设服务器回调附加到id为#updateButton
的按钮?奇怪的是,您有一个脚本会触发该按钮上的单击操作,而不是每xx秒触发一次回调。
以下脚本将每10秒更新一次整个身体。假设您实现了正确的渲染方法,这可能是一个更优雅的解决方案:
html script: (
((html jQuery: 'body') load
html: [ :innerHtml | self renderOn: innerHtml ])
interval: 10000)