2011-07-18 46 views
2

如何使用Chrome瀏覽器中的appcached webapp使用browserid.org?此代碼:https://browserid.org/include.js在使用html5 appcache清單的Chrome中失敗

​​

結合test.appcache:

CACHE MANIFEST 

與的.htaccess:

AddType text/cache-manifest .appcache 

會提醒 'OK' 每次刷新它在Firefox的時間。在Chrome中,第一次訪問時會提示「確定」,但下次刷新時會提示「哎呀」(即從appcache提供服務時)。

有關文件的一些事實它的失敗,包括:

  • 它是跨起源
  • 它通過https
  • 它有一個「緩存控制:公衆,最大年齡= 0」響應頭

不過,我不明白究竟爲什麼這部作品在FF,但在Chrome失敗。我認爲這在某種程度上與「HTTP緩存頭部相關,並且通過TLS覆蓋的緩存頁面上的限制被清單覆蓋。」在http://www.w3.org/TR/html5/offline.html和/或「通過SSL,清單中的所有資源都必須遵守同源策略。」在http://appcachefacts.info/,但我不明白如何。

我在Ubuntu上使用Chromium 12.0.742.112進行了測試。

我想一個解決方法是創建一個沒有browserid支持的可緩存的應用程序,並將browserid登錄按鈕放入不在緩存清單中的iframe,並帶有FALLBACK:顯示灰色的browserid登錄按鈕。但我希望也許有人有一個適當的解決方案。

回答

0

我嘗試了一下,這隻影響通過http提供服務的web應用程序。所以要避免它,只需通過https服務您的網絡應用程序。

它仍然是Chrome中的一個錯誤,我認爲,但至少這是一個解決方法,因此將問題標記爲已回答。