2016-04-09 6 views
0

私はこのカスタム要素を持っていて、Facebookのプロフィール写真(非常に小さいサイズ)をURLで取得しています。私はサービスワーカーを使用して呼び出しを傍受し、キャッシュします。しかし、それは効果的ではないようです。呼び出しは、すべてのページを更新したときにネットワーク経由で行われます。さらに、ローカルストレージの下にある開発ツールには何もありません。私もcacheOnlyを試してみましたが、依然としてURLのネットワークに呼ばれていましたので、サービスワーカーplatinum-sw-fetchは有効ではありません。ポリマーサービスワーカーがキャッシングしていない

私が間違っていることに関する提案はありますか?それがうまくいけば、私はdevのツールのローカルストレージに何かを見てはいけませんか?私はdevのツールでサービスワーカー自体を参照してください。

<platinum-sw-register auto-register 
         clients-claim 
         skip-waiting 
         base-uri="../bower_components/platinum-sw/bootstrap"> 
    <platinum-sw-fetch 
    origin="https://z-1-scontent.xx.fbcdn.net" 
    path="/hprofile(.*)" 
    handler="cacheFirst"> 
    </platinum-sw-fetch> 
</platinum-sw-register> 

+0

私はあなたが** **コンポーネントについて話していると思います。 –

+0

いいえ、その要素は、単一のURLの代わりに*すべて*をキャッシュしたいときです。これは、取得するための便利なラッパーです。 – dman

答えて

0

これは、ポリマー(またはplatinum-sw)問題ではありません、それは仕方のサービス労働者機能によるものです。

サービスワーカーは、自身のスコープのフェッチ要求のみを処理します。具体的には、サービスワーカーファイルと同じドメインにあり、そのディレクトリ以下です。あなたがでSWファイルを使用して登録している場合:

https://example.com/stuff/service-worker.js

それだけインターセプトhttps://example.com/stuff/

http://www.html5rocks.com/en/tutorials/service-worker/introduction/#toc-before

で始まる要求を取得します(登録して、インストール方法、セクションを参照してください。サービスワーカー)

このようなことをしたい場合は、自分のサーバーで要求をプロキシする必要があります。

+0

これは正しいとは思わない。 'platinum-sw'は ' 'origin'属性を持っています' '特定のクロスオリジンドメイン上のリクエストに対してカスタムハンドラを定義したい場合は、あなたとドメインを一致させるためにpathと一緒にoriginパラメータを使わなければなりません'扱いたい。' ' From https://elements.polymer-project.org/elements/platinum-sw?active=platinum-sw-fetch – dman

+0

申し訳ありませんが、私は理解できませんでした。 upvoteを切り替えようとしました。別のドメインの 'origin'属性はどうでしょうか? – dman

+1

ええ、私はあなたが正しいと思うし、私はここで銃を飛ばした。いくつかのクロスドメインリソースを取得できるはずです。私はここで何が間違っているのか分からない。 SWが起動しているかどうかを確認できますか?正規表現に対して実際にフェッチされたパスをダブルチェックしますか?コンソールのエラーが表示されますか? – DocDude

関連する問題