javascript - 执行 WebSocket/AJAX 应用程序的 'soft-refresh'(仅 JS 和 CSS)

标签 javascript html ajax

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

大部分逻辑驻留在应用程序、模型、 View 等的客户端

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

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

  • 从服务器获取index.html
  • index.html 加载所有 javascript 文件
  • javascript 创建应用程序并启动 websocket
  • 在成功的 websocket 连接上,服务器将发送初始化数据
  • 客户端收到来自服务器的初始化数据并生成页面

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

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

更改 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 的片段,但它并没有起到同样的作用。有人有想法吗?

最佳答案

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

关于javascript - 执行 WebSocket/AJAX 应用程序的 'soft-refresh'(仅 JS 和 CSS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10182793/

相关文章:

javascript - 在所有其他 javascript 运行之后如何运行 jQuery 函数

html - 在 div 内水平居中绝对定位的图像,不显示水平滚动条(在移动设备中也是如此)

php - 在 PHP5.1.6 上运行时获取 json 为 null 输出

javascript - jquery $.post 不起作用

jquery - 在 IE 10 中成功执行 XMLHttpRequest 后,无法立即通过 .Ajax 发布到新的操作方法

javascript - 在javascript中为对象创建函数

Javascript 变量跟踪它们的副本?

javascript - 使用 jquery .attr 设置变量然后更改它

html - 是否有 css 文本重置?

javascript - 在我的搜索 javascript 中制作滚动条