执行WebSocket / AJAX应用程序的“软刷新”(仅JS和CSS)

时间:2012-04-16 22:49:21

标签: javascript html ajax

我正在使用websockets开发一个应用程序,并在ajax上进行回退。

大多数逻辑都驻留在应用程序,模型,视图等的客户端上。

在开发过程中,我经常需要进行微小的更改,然后进行更新。我这样做的方法是通过硬浏览器刷新,基本上重启整个应用程序。

这可能需要一些时间,这些是以下步骤:

  • 从服务器获取index.html
  • index.html加载所有javascript文件
  • javascript创建应用程序并启动websocket
  • on succesfull websocket connection服务器将发送init数据
  • 客户端收到服务器的init数据并生成页面

在正常情况下这是可以的,因为只要加载应用程序,就不会再刷新了。

但是在开发过程中这很痛苦,所以我想到了以下解决方案:

我更改CSS后,运行以下脚本:

softreset: function(){
    var queryString = '?reload=' + new Date().getTime();
    $('link[rel="stylesheet"]').each(function () {
        this.href = this.href.replace(/\?.*|$/, queryString);
    });
}

这会立即重置所有CSS,因此我不需要完全刷新。走了一步。

通常这还不够,我还需要新的内容,所以我想做以下事情:

问题

  • 我需要卸载页面上的所有JS文件,但保存websocket连接的文件除外。
  • 需要删除与这些文件关联的所有DOM元素,对象,事件。
  • 我需要从服务器获取新的JS文件。
  • 将它们加载到页面中,然后触发onload操作

我尝试使用我用于CSS的代码片段,但它没有做同样的技巧。有人有想法吗?

1 个答案:

答案 0 :(得分:2)

我认为live.js可能部分符合您的要求