2016-07-26 3 views
2

メインのコンテンツがバックグラウンドで読み込まれている間にスプラッシュ画面を表示するサービスワーカーがいます。残念ながら、スプラッシュスクリーンがページ状態(例えば、スクロール位置)を失うので、残念なことに、履歴ナビゲーション(例えば、戻るボタン)の経験が悪くなる。サービスワーカーは履歴ナビゲーションを検出できますか?

FetchEventが履歴ナビゲーション用であることをサービスワーカーが検出する方法はありますか?

答えて

1

FetchEventインターフェイスを介して公開されているRequestオブジェクトには、履歴ナビゲーションによるものと具体的に識別されるものはありません。たとえば、mode attribute'navigate'に設定されます。これは、戻るボタン以外の理由でナビゲーションに表示される値と同じです。

ありFetchEventisReload性質があるが、service worker specificationtrue価値をもたらすべきである、唯一、履歴ナビゲーションをリフレッシュして、ではないことを呼び出すために、その方法の外に出る:

更新ボタンを押すと、再ロードとみなす必要がありますが、 リンクをクリックして戻るボタンを押してはいけません。 Ctrl + lの動作 はユーザエージェントの実装に残されます。

関連する問題