根据时间间隔重新加载JavaScript小部件

时间:2011-07-25 01:26:29

标签: javascript jquery ajax json refresh

http://jsfiddle.net/4B2Bc/1/< - 小部件的链接

我有这个javascript小部件,我想每60秒重新加载一次,以便刷新内容。但问题是,无论何时我使用设置超时或小部件内或窗口小部件外的任何其他内容,当窗口小部件刷新时整个屏幕都会变黑。

在调试窗口中,我可以看到使用正确的内容检索新内容的json文件,但它不适用。

所以我留下的另一个方法是继续编写<script type="text/javascript" src="http://domainsoutlook.net/wjs/12_61532/" charset="utf-8"></script>标签,重新加载整个js并刷新小部件,但问题是它很快就会发生,而不是定期发生。

任何解决方案的人......我愿意在小部件中使用jquery,如果有帮助的话。

2 个答案:

答案 0 :(得分:1)

您的脚本会删除该页面,因为您使用的是document.write

  

写入已加载但未调用document.open()的文档会自动执行document.open来电。

document.open

  

如果目标中存在文档,则此方法会清除它。

因此,除非您最初加载文档时,如果您随时调用document.write,您将用您编写的内容替换整个文档。

不要使用document.write进行更新,只需使用一点AJAX从服务器重新加载一些新数据,然后使用DOM操作或jQuery技术工作替换需要替换的部分最好的。

完成上述工作后,请使用setTimeoutsetInterval安排拨打服务器以获取最新数据。

答案 1 :(得分:0)

使用jquery你可以设置一个间隔,就像一个计时器。

$(function() {
    setInterval( "refreshWidget()", timeinmilliseconds );
});