5

ブラウザにグローバルなデータを隠しておく方法が必要です。ブックマークなどを介してアプリから URL を使用して新しいウィンドウを開くと、別のウィンドウで作成され、サーバーに送信されなかったデータにアクセスする必要があります。

私が言える限りでは、ウィンドウ (window.name など) だけでなく、ブラウザーに対してグローバルである唯一のものは Cookie です。私が直面している問題は、Cookie を設定すると、サーバーへのすべてのリクエストで Cookie が送信されることですが、このデータをネットワーク上に送信したくありません。Cookie を設定し、データを格納するためのバケットとして純粋に使用し、そのデータをサーバーに送信しない方法はありますか?

4

5 に答える 5

4

HTML 5 ストレージ API はまさにあなたがここで望んでいるもののように見えますが、残念ながら現在、少数のブラウザーでしかサポートされていません。

于 2008-12-07T18:39:26.577 に答える
1

ユーザーにGoogle Gearsのインストールを義務付けることはできますか? これは、ローカル情報を保存できる JavaScript API であり、セッション間で保持できるため、アプリに役立つ場合があります。

于 2008-12-07T18:45:21.290 に答える
1

Cookie を設定し、データを格納するためのバケットとして純粋に使用し、そのデータをサーバーに送信しない方法はありますか?

いいえ。

専用のオフライン ストレージ機能を提供するプラグインを調べるか、HTML5 ストレージ API を使用して、全員にブラウザをアップグレードするように指示する必要があります。

プラグイン ルートを選択する場合、私が知る限り、次の 3 つのオプションがあります。

  1. グーグルギア
  2. Flash - オフライン ストレージ機能があります。この機能を使用して小さなフラッシュ アプリを作成し、それを JavaScript から相互運用することができます。
  3. Silverlight にはオフライン ストレージもあります。フラッシュと同様に、小さなアプリを作成してストレージを実行し、javascript から相互運用することができます。

誰もがすでにフラッシュを使用しているので、おそらく最初にフラッシュの使用を検討します。

Silverlight を使用すると、開発がはるかに簡単になる可能性があります。それほど広くはインストールされていませんが、かなり急速に広まっています。最近私が聞いた* ブラウザの 30% 程度がそれをインストールしているとのことで、これはかなり印象的です。

残念ながら、Google のギアは 3 分の 1 ほど離れています。他の理由でフラッシュやシルバーライトをインストールする人もいますが、ギアを持っている人はいません。

*これはまったく根拠のない引用ですが、さまざまな人のコンピューターなどで私が見たものと一致するようです.

于 2008-12-07T19:54:21.603 に答える
0

あなたのアプリは 100% ローカルで実行されているように思えますが、その場合、ブラウザーはどうしようもありません。Cookie は簡単に削除できます。アプリがローカルでない場合、Web サーバーが情報を提供する必要があります。Cookie は、機密情報や長期間保持する必要がある情報を保存するための正しい方法ではありません。

于 2008-12-07T19:31:06.377 に答える
0

window.opener を使用して親ウィンドウのフィールドを読み取らないのはなぜですか? または、3 つのウィンドウ (親と 2 つの子) が実行されている場合、これは暗示されている可能性があると思われますが、子から親の非表示フィールドへの読み取り/書き込みを行います。

于 2008-12-07T18:36:20.187 に答える