2011-06-09 52 views
6

我有一個使用HTML5緩存和可愛的網站。基本身份驗證後的HTML5清單緩存?

當我使用基本身份驗證(htpasswd的)緩存似乎並沒有工作,保護現場。理想情況下,我希望該網站緩存經過身份驗證的用戶。我的理論是,當他們離線訪問站點時,服務器實際上並未被擊中,所以顯示緩存的版本。

是不是,如果他們被保護的網頁沒有被高速緩存的HTML5規範的一部分?我找不到任何這方面的參考。

有沒有人成功創建保護緩存應用程序密碼嗎?

我不知道這是否是針對特定瀏覽器,但我測試的Safari - 這是一個iPad應用。

在此先感謝

回答

3

另一些人抱怨在iOS 3.x中同樣的問題,上述移動清單文件中的權威性目錄之外似乎解決的事情: http://lists.apple.com/archives/safari-iphone-web-dev/2010/Sep/msg00000.html

我能夠解決此問題與.htaccess文件存在於如下所示的問題文件夾中:

AddType text/cache-manifest .manifest 
<FilesMatch "your.manifest"> 
    Order Allow,Deny 
    Allow from all 
</FilesMatch> 
+0

我們不得不向'FilesMatch'組添加'滿足任意'來完成這項工作。 – klaus 2015-07-29 20:25:53

+0

有人可以確認在離線模式下使用基本身份驗證可與最新的Safari一起使用嗎? – fnagel 2017-07-17 17:01:41

1

我有同樣的問題。當我們從主屏幕以全屏模式啓動應用程序時,身份驗證中斷或禁用啓動緩存清單的頁面上的JS。

作爲變通,從移動Safari瀏覽器,我們的網頁保存到主屏幕這是我們希望我們的緩存清單從運行頁面的複製版本。然後,一旦從主屏幕啓動頁面,我們會將複製的頁面轉發到我們運行緩存清單的真實頁面。

這會提示登錄,但不會中斷運行緩存清單的JS,因爲它在技術上會在我們的'假頁面'上提示,儘管用戶會立即轉到正確的頁面,然後他們的緩存下載會成功開始。

這似乎是在移動Safari瀏覽器的全屏模式的錯誤。希望這些事情將在未來的版本中得到解決。希望這可以幫助。


UPDATE:上面的修復並沒有結束以來假冒介紹頁面不包括在清單中爲我們工作,所以也沒有一次離線加載。一個無賴。我們最終只是從移動Safari發起緩存,因此需要通過瀏覽器進行任何更新,而不是全屏模式。