問題タブ [session-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JavaScript のタイミングの問題 - sessionStorage 値が設定される前にウィンドウが閉じる
ユーザーがログインするためのポップアップ ウィンドウを必要とする FSSO API をまとめています。ポップアップでは、次の 2 つのタスクを実行します。
サービスを呼び出してプロファイル値を設定し、イベント タイプ (ログインまたは登録) に基づいてユーザーをリダイレクトするページを設定します。
ユーザーを親ウィンドウのリダイレクト ページにリダイレクトし、FSSO ポップアップを閉じます。
コード:
問題: タイムアウトを 3000 未満に設定すると、sessionStorage の値を設定する前にウィンドウが閉じているように見えます。任意の時間ではなく、設定されている値に応じてウィンドウを閉じたいだけです。通過。タイムアウトを 0 に設定するトリックを試しましたが、うまくいきませんでした。また、タイムアウトなしでコールバックだけを試しました。
このようなタイミングの問題を処理するためのベスト プラクティスをここで探しています。:)
jquery - 大きなjsオブジェクトをsessionStorageに保存する方法を探しています
シングル ページ アプリがユーザーの更新に耐えられるようにするソリューションを構築しようとしています。現在、DOM に格納している大きなモデル オブジェクトがあり、ユーザーがアプリを操作するときに、モデル オブジェクトの情報を追加および削除します。他の投稿を読んだことに基づいて、次の作業を開始しました。
ユーザーがログインすると、これはうまく機能します.modelLocatorのスナップショットを撮り、5〜10分ごとにこれを続けます. ただし、ユーザーがアプリの操作を開始すると (ユーザー情報の編集または注文トランザクションの操作)、Chrome の値の制限を最大にします。テストしたところ、chrome は 120666 文字を使用できることがわかりました。トランザクションの途中で、約 196475 文字に達しました。ご覧のとおり、modelLocator が切り捨てられ、ユーザーが更新を押したときに文字列を JSON として再読み込みできません。
モデルを保存する方法について誰か提案がありますか? モデルの一部の領域は、名前と値のペアであり、他のセクションは 6 つのレバーの深いオブジェクトです。
助けてくれてありがとう。
jquery - jQuery Mobile からのオフライン/オンライン データベース認証/同期
状況:科学データの表を表示および更新するために相互作用するデータベースと Web アプリがあります。私の仕事は、ユーザーができるようにするモバイル アプリケーションを構築することです。
- 追跡目的でオフラインで自分自身を認証および識別する (キャッシュに保存されている定義済みの動的なユーザー アカウントとアクセス許可を使用)
- 現場作業用の識別データをダウンロードする(インターネット アクセスが必要)
- フィールドでの観察の作成と保存 (インターネット アクセスなし)
- 観測を後でオンライン データベースに同期する
質問: このようなアプリケーションを一貫したインターネット アクセスから独立して管理するために必要なデータを認証/ダウンロード/保存/アップロードするための最良の方法は何ですか? 2 人のユーザーが同じ読み取り値を調整し、同期の間に 1 つの更新が発生した場合、どのテーブルと値が変更されたかを追跡し、変更が失われないようにするにはどうすればよいですか?
現在の思考の流れ: sessionStorage に格納されているすべてのオンライン データベース トランザクションを表す JSON オブジェクトを格納する「同期」テーブルを維持し、アプリがデータをアップロードする前にその同期を継続的に検証し、このオブジェクトをチェックするための衝突制御に関する現在の暫定的な戦略特定の主キーの更新時に競合が発生する可能性があります。編集段階でタプルをロックできるようにしたいのですが、インターネット アクセスが不安定なため、それは不可能に思えます。
これが少し初心者の質問である場合は申し訳ありません。私はモバイルアプリ開発全体に不慣れです...
tl;drモバイルアプリからのデータベースへの非同期変更が、オンラインおよびオフラインになると、同じデータベースに対する別の個人の変更と上書き/衝突するのを防ぐにはどうすればよいですか? また、ネットワーク接続を使用してユーザーを認証するにはどうすればよいですか?
php - PHPセッション変数を複数のページに渡す
Web サイトでセッション変数の受け渡しに問題があります。広告主/page2.php でセッション変数をエコーできますが、3 番目のページに移動すると、セッションがなくなります。
誰かがこの問題を解決するのを手伝ってくれますか?
login.php
広告主/page2.php
広告主/page3.php
これが私のphpinfo()の設定です
javascript - HTML5 セッション ストレージに新しいアイテムを保存するのに十分なスペースがあるかどうかを確認する方法
アイテムの配列を html5 セッション ストレージに格納したいと考えています。しかし、新しいアイテムを配列に格納する前に、十分なスペースがあるかどうかを確認し、十分でない場合は最初の要素を削除して新しいアイテムを追加したいと考えています。セッション ストレージの空き容量を知るにはどうすればよいですか?
jquery - jqueryラジオボタンの競合
ラジオ ボタンが変更されたときに div を更新するスクリプトがいくつかあります。さらに、選択したラジオの値を sessionStorage に保存して、ページに再度アクセスしたときに対応するラジオ ボタンが選択されたままになるようにします。
私の問題は、sessionStorage スクリプトと更新スクリプトを使用すると、更新スクリプトが機能しなくなり、セッションに保存された値が保持されることです。
私は特にこの行を意味します:
その行を削除すると:
更新スクリプトが再び機能します。
この競合を回避する方法を知っている人はいますか?
これが私のhtmlです:
更新のための私のjquery:
sessionStorage の私の jquery:
jquery - sessionStorage は機能していますが、Cookie が必要です
したがって、必要なことを実行する次のコードを取得しましたが、ie7 内で動作する必要があり、sessionStorage はそのブラウザーでは動作しないと言われました。私はクッキーについてあまり知識がないので、誰かが私を正しい方向に向けることができるかどうか疑問に思っていました.
現時点では、ホームページに初めてアクセスしたときにモーダルが表示され、新しいタブ/ウィンドウで開かない限り表示されません。これは、希望どおりに機能します。
どんな助けでも大歓迎です。
javascript - セッション オブジェクトを Angular オブジェクトに割り当てる
ブラウザー セッションにデータを保存する Angular アプリを作成しました。これらのキーの 1 つの値は、たまたま文字列化された key:value オブジェクトです。key:"{key:value, key:value, ...}"
sessionStorage から文字列を返すと、それを解析してJSON.parse
orを使用してオブジェクトを再作成しangular.fromJson
(どちらも同じ結果になります)、変数として格納します。この時点で、JSON オブジェクトをはっきりと見ることができconsole.log
ます。期待どおりです。このオブジェクトを角度変数として割り当てると、キー:値ではなく、オブジェクト自体が割り当てられます。
それに加えて、$scope を myParsedObj に設定すると、不可解にも sessionStorage 項目が設定され、これも [object Object] になります。
さらに、myParentObject が削除され、myObject が $scope に直接アタッチされている場合、正常に機能し、データが正しくバインドされます。これはバグですか、それとも何か間違っていますか? 使用できる回避策はありますか? angular.forEach と angular.extend を使用してみましたが、成功しませんでした。