0

いくつかの .html ファイルをホストするサーバーがあります (実際にはすべて .php ですが、クライアントには html しか表示されません)。ユーザーが page1.html に入ると、page2.html に移動するボタンがあります。このボタンには、href="page2.html" と rel="external" があります。他の 4 ページについても同様です。

私の localStorage はページ 1、2 と 3 の間にとどまりますが、ページ 4 と 5 の間にはありません。エントリ。Google Chrome の要素インスペクタ -> リソースは、ポップアップが開いている間に値を表示しますが、javascript アラートは undefined を返します。

だから:これを引き起こす可能性があるのは何ですか?私はかなり「同じオリジンポリシー」が適用されます(すべてhttp://www.example.com/で始まります)が、他のページに localStorage がないようにする必要があります。

私のページのほとんどが始まるphpコードは次のとおりです。

<?php
$userid = mysqli_real_escape_string($connection, $_GET['userid']);
echo "<script>localStorage.userid = $userid;</script>";

$keyword = mysqli_real_escape_string($connection, $_GET['keyword']);
echo "<script>localStorage.keyword = $keyword;</script>";
?>

次に、次のページの href に移動するボタンを設定して、同じ php クエリ文字列を含めて、次のページが同じ変数を取得するようにします。もちろん、localStorage が適切に機能し、それらから値を取得できた (後でそれらを使用して何かを実行した) 場合、これは必要ありません。Google Chrome の要素インスペクターを使用して、ローカル ストレージにある各ページの内容を確認します。

4

1 に答える 1

2

phph と localStorage の組み合わせを誤用していました。私は時々次のように入力しました(phpエコーを省略しています):

localStorage.keyword = $キーワード;

ただし、引用符で囲む必要があります。

localStorage.keyword = '$キーワード';

したがって、未定義のエントリのみを持つ一部のページでのランダムな動作が説明されます。

于 2013-04-25T04:13:03.537 に答える