サービススタッフから定期的にAPIを呼び出して、localStorageに格納されたデータを送信したいとします。このデータは、ユーザーが自分のWebサイトを参照するときに生成され、localStorageに保存されます。 localStorageに統計情報を保存し、サービスワーカーを通して定期的に送信するようなことを検討してください。私はこれをどのようにするべきですか?私はサービスワーカーからlocalStorageにアクセスすることができず、postMessage APIを使用する必要があることを理解しています。どんな助けも高く評価されます。サービス担当者からlocalStorageにアクセス
2
A
答えて
5
webworkerプロセスからlocalStorage(およびsessionStorage)にアクセスすることはできません。結果はundefined
になります。これはセキュリティ上の理由によるものです。
ワーカーの元のコードに戻ってpostMessage()
を使用し、そのコードにlocalStorageにデータを格納する必要があります。
ローカルストレージからデータを保存して取得するには、localStorage.setItem()
とlocalStorage.getItem()
を使用してください。
もっとに関する情報:
以下の疑似コード、あなたが開始得ることを望ん。
// include your worker
var myWorker = new Worker('YourWorker.js'),
data,
changeData = function() {
// save data to local storage
localStorage.setItem('data', (new Date).getTime().toString());
// get data from local storage
data = localStorage.getItem('data');
sendToWorker();
},
sendToWorker = function() {
// send data to your worker
myWorker.postMessage({
data: data
});
};
setInterval(changeData, 1000)
関連する問題
- 1. サービス担当者のChrome APIにアクセス
- 2. サービス担当者のXMLHttpRequest
- 3. SSO-SAMLサービス担当者からIDPにログイン
- 4. アセンブリ - 担当者
- 5. サービス担当者とAngular.jsのコントローラを連絡するには
- 6. クローン担当者:AEMのポリシー
- 7. TFSのランダムコードレビュー担当者
- 8. Firebaseメッセージングサービス担当者(クロム)
- 9. [Azure AD]:ユーザーグループ担当者
- 10. サービス担当者が単純なhtmlファイルをキャッシュできない
- 11. サービス担当者のコントローラ交換ページを更新する
- 12. 問題キャッシュ破損サービス担当者index.htmlファイル
- 13. iOSドキュメントレビュー担当者のようにイメージブラウザ
- 14. 認証なしの営業担当者オブジェクトリストへのアクセス
- 15. 複数の担当者/チームからタスクを取得する
- 16. Amazon API - トップの顧客レビュー担当者
- 17. Interspireの電子メールマーケティング担当者
- 18. マーケティング担当者のためのWebフォームフォームレポート
- 19. 妥協のない検証担当者
- 20. スプリングのフライウェイDBアップグレード担当者
- 21. 機械学習の求人担当者
- 22. マーケティング担当者用Webフォームカスタム送信アクションエラーメッセージ
- 23. マーケティング担当者用のSitecore Webフォーム
- 24. POST要求の返信担当者
- 25. 担当者の呼び出し
- 26. マーケティング担当者のためのWebフォームフォームレポートフィルタ
- 27. VirtoCommerceのカスタマーサービス担当者に注文を割り当てます
- 28. Select(bpm:担当者)コントロールのユーザをフィルタにかける
- 29. Googleクラウド機能GitHubの自動デプロイ担当者は言う:サービスのタイムアウト
- 30. vhdlでシグナル割り当て担当者を生成する
'var myWorker = new YourWorker( 'YourWorker.js')、'> '新しいWebWorker'の権利ですか? – Roberrrt
@Roberrrtあなたのコメントのためにありがとう、正しいです '新しい労働者()' :) – GibboK
ありがとうございますGibboK、しかし、私はいくつかの疑問があります。あなたが言及したコードは、私のjavascriptの1つで動作しています。これを実行するには、ユーザーはWebサイトを実行している必要がありますか?ではない?私は、サービスワーカーがユーザーが自分のウェブサイトにいなくてもローカルストレージから定期的にデータを送信する何かを探しています。私のシナリオも可能ですか? – Faiz