2011-11-16 36 views
0

我在寫一個javascript應用程序。在我的應用程序中,我想創建自己的緩存管理。用於服務器通信的Javascript瓶頸(用於下載資源)

現在我的問題是:JavaScript中是否存在瓶頸(例如窗口對象上的任何事件),我們可以處理和修改所有服務器通信?

頁面中的許多標籤可以向服務器請求資源,例如, imglinkscript

換句話說,我想要一個JavaScript瓶頸,我可以通知服務器請求資源。然後,我將查看我的緩存系統,並從我的緩存中提供資源,或者從我的服務器上的通用HTTP處理程序下載內容。

我知道這有點奇怪的要求,但因爲我相信javascript是非常靈活的我雖然可能存在這個「瓶頸」。

謝謝。

+0

所以你要能夠基本上中斷給定頁面上發生的任何http請求(該頁面與您的應用程序相同)?我認爲手動完成這項工作的唯一方法是以編程方式檢索您想要處理緩存的任何資源 - 我不認爲有任何方法可以中斷http請求... – Aerik

+0

爲什麼您要做自己的緩存而不是依靠在本地HTTP(如瀏覽器)緩存?有些方法可以做這種事情,並將結果存儲在本地存儲中,但這只是HTML5 –

+0

@AndyDavies,你錯過了問題的關鍵,它不是爲什麼或如何緩存,而是關於所有服務器請求都有瓶頸的HTML頁面。但是:是的,我使用的是HTML5。 –

回答

0

延遲加載資源的一種方式是爲小型可緩存資源設置一個通用來源(例如,圖像爲1.gif,腳本/ css爲x.txt)。然後在元素上設置一個數據屬性以及內容的實際路徑。

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

最後,在domready中或文檔加載,你可以做你的邏輯來設置適當的URL,更換DOM元素等,使用jQuery你會做這樣的事情 -

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); 
    }); 
}); 
+0

這有兩個問題:(1)我認爲這種方式瀏覽器仍然向服務器發送請求(因爲你有src)(2)有很多情況,這不包括像你的圖像是由腳本等創建時 –

相關問題