服务器通信的Javascript瓶颈(用于下载资源)

服务器通信的Javascript瓶颈(用于下载资源),javascript,Javascript,我正在编写一个javascript应用程序。在我的应用程序中,我想创建自己的缓存管理 现在我的问题是:javascript中是否存在任何瓶颈,例如,我们可以处理和修改所有服务器通信的窗口对象上的任何事件 页面中的许多标记可以从服务器请求资源,例如img、link、script 换句话说,我希望javascript中有一个瓶颈,可以通知我从服务器请求了一个资源。然后,我将查看缓存系统,并从缓存或从服务器上的通用HTTP处理程序下载内容来提供资源 我知道这是一个有点奇怪的要求,但因为我相信javas

我正在编写一个javascript应用程序。在我的应用程序中,我想创建自己的缓存管理

现在我的问题是:javascript中是否存在任何瓶颈,例如,我们可以处理和修改所有服务器通信的窗口对象上的任何事件

页面中的许多标记可以从服务器请求资源,例如img、link、script

换句话说,我希望javascript中有一个瓶颈,可以通知我从服务器请求了一个资源。然后,我将查看缓存系统,并从缓存或从服务器上的通用HTTP处理程序下载内容来提供资源

我知道这是一个有点奇怪的要求,但因为我相信javascript非常灵活,我认为可能存在这个瓶颈


谢谢。

延迟加载资源的一种方法是设置一个公共源,例如:1.gif用于图像,x.txt用于指向小型可缓存资源的脚本/css。然后使用内容的实际路径在元素上设置数据属性

<img src="/1.gif" data-url="/images/puppies.png" class="onhold" />

因此,您希望能够基本上中断给定页面上发生的任何http请求,该页面相当于您的应用程序?我认为手动实现这一点的唯一方法是以编程方式检索您想要处理缓存的任何资源-我不认为有任何方法可以中断http请求…为什么您希望自己进行缓存,而不是依赖本地http(例如浏览器缓存)?有很多方法可以做到这一点,并将结果存储在localstorage中,但这就是HTML5only@AndyDavies,您没有抓住问题的关键,问题不在于为什么或如何缓存内容,而在于为HTML页面的所有服务器请求设置瓶颈。但是:是的,我正在使用HTML5。@valipour我不确定是否有任何可靠的方法可以做到这一点,但请看一下stevesouders所做的工作-在某一点上,他有一个脚本试图更改页面上的所有JS,以便加载异步,您可以使用类似的方法来注入您自己的资源处理程序。这有两个问题:1我认为这种方式浏览器仍然会向服务器发送请求,因为您有src 2。有许多情况这不包括,例如,当您的图像由脚本创建时等。
jQuery(document).ready(function($){
  $("img.onhold").each(function() {
    var img = $(this),
    url = img.data("url");

    // any logic to update url based on cache, CDN, etc. here
    img.attr("src", url);
  });
});