2014-02-18 79 views
1

我的應用程序被設計爲與HTML5 appcache脫機工作。有沒有一種方法可以禁用下載AppCache,直到用戶通過登錄界面進行身份驗證?這樣,僅當有效用戶訪問該頁面並防止將應用程序緩存到其他用戶使用的設備時纔會創建appcache。這是可能的,如果是的話,怎麼樣?在用戶登錄之前阻止瀏覽器創建HTML5 ApplicationCache

P.S.我嘗試了以下內容:

$window.applicationCache.addEventListener('checking', function(event){ 
    event.preventDefault(); 
    // or 
    event.abort(); 
}, false); 

// and the following way 

window.addEventListener('load', function(event) { 
    window.applicationCache.addEventListener('checking', function(e) { 
    window.applicationCache.abort(); 
     e.preventDefault(); 
    }, false); 
}, false); 

// and even this 

window.applicationCache.addEventListener('downloading', function(e) { 
    window.applicationCache.abort(); 
    e.preventDefault(); 
}, false); 

上述任何一項似乎都不起作用,瀏覽器在運行時仍會有appcache。

回答

1

我還沒有測試過,但我相信你可以使用iframe填充應用程序緩存。查看此頁面的來源以查看這個實例的示例。

http://appcache-demo.s3-website-us-east-1.amazonaws.com/offline-iframe/

因此,對於您的情況,您可以以編程方式與鏈接的iframe追加到你的清單中只有一次登錄就完成了。然後,您可以將您的登錄頁面作爲該清單的一部分,以便即使在離線狀態下,成功登錄的用戶的未來訪問也能夠正常工作。

+0

非常感謝您的回答。有沒有辦法實現這一點,而不使用iframe? – JRulz