2016-08-23 3 views
2

私は、ユーザの次の訪問のためにdivの中に動的に読み込まれたhtmlを格納する最良の方法を理解しようとしています。localStorageまたは他の何か?

私はlocalStorageについて少し読んだことがありますが、この情報を文字列化する可能性がありますが、実装についてはあまり明確ではありません。

しかし、上記のように、私が現在やっていることと達成したいことがここにあります。

私のようなコードを使用しています:これは基本的に別のページからの情報をつかんで#summaryのIDでdivに追加され

$(function() { 
    $('.cordpass').click(function() { 
     var collection = $(this).find('span').load(this.href + ' #cords'); 
     $('#summary').append($(collection)); 
     return false; 
    }); 
}); 

。これは、ページ上の複数のオブジェクトから実行できます(すべてがマップ上にあります)。とにかく、ユーザーは、すべての種類のものを並べ替えることができます。それは私のニーズに最適です。しかし、私は#summaryの中にHTMLを保存して、次回ユーザーが訪れたときにHTMLがそこにあるようにしたいと思います。

これを行うにはどうすればよいですか? localStorageは私にはうってつけですか?それとも、私はその使い方を完全に誤解していますか?次回の訪問のためにHTMLを保存できる別の方法はありますか?

+3

HTMLを保存するのはナンセンスです。 localStorageにデータを格納します。オフラインのエクスペリエンスを提供する場合は、「webapp」と「サービスワーカー」を参照してください。 –

+2

ローカルストレージが* local *であることを忘れないでください。ユーザーが現在使用しているブラウザ/マシンによって、保存されるデータが異なることに備えていますか? –

+0

はい、ユーザーごとに異なる必要があります。アプリケーションはマップ(Googleマップを使用しています)ですが、ポップアップには、自分の旅程に追加するボタンがあり、アプリケーションが置かれているサイト内の特定のページからデータを読み込みます。ユーザーが離席して戻ったときの情報が表示されます。それはもう少し意味がありますか?私が意味をなさないのであれば、事前にお詫びします。前もって感謝します。 – mmatzen

答えて

0

ユーザーごとにデータが異なる場合は、mysqlデータベースにデータを保存できると思います。データが別のページから来ている場合、すべてのデータではなく、データベース内の他のページへのリンクを保存するだけで済みます。

ページ内の各ユーザーはデータベース内で異なるIDを持つため、データのみが表示されます。何らかのログイン手順があると仮定します。

現時点ではより良い回答を得るには十分な情報がありません。

私はこれに追加します。もちろん、クッキーを使ってクライアント側に情報を保存することができます。もちろん、クッキーは各クッキーに対して4kに制限されています。多くのようには聞こえませんが、それは4000文字のテキストです。私が言ったように、あなたはたくさんのテキストのためにクッキーを使いたくないと言っていましたが、いくつかのリンクと変数は保存するのがいいです。クッキーを設定するには

この

setcookie($cookiename, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day 

は、これは30日間ですが、あなたが本当にしたい場合には、有効期限が無制限にすることが可能ですか。 はクッキーをエコーするには、この

echo $_COOKIE['cookiename']; 

あなたは、あまりにもクッキーで配列を格納することができます。

$test = array(
0 => array('bill', 'ted'), 
1 => array('alpha', 'romeo'), 
2 => array('Chad', 'Something') 
); 

setcookie('names', $test); 

しかし、ユーザーがログインしても、自分のデータをmysqlデータベースに保存することをおすすめします。

おそらく他の方法もあります。クッキーが開かれたブラウザにのみ存在することを覚えておいてください。したがって、1つのブラウザでページを表示してブラウザを変更すると、そのCookieはそこに表示されません。または、別のマシンから訪問した場合。

ユーザーがログインしている場合、どのマシンがページにアクセスしても問題ありません。

+0

トーマス、ありがとうございました。私はそのルートを考えましたが、サイトのこの部分はログインを必要としないはずです。なぜ私はローカルストレージなどを使用するか考えていました。これは進行中の作業ですが、このテストページhttp://marylandwine.com.64-207-179-169.c7gg-ww2l.accessdomain.com/wine-trail/をクリックすると、2つの場所のいずれかをクリックすることができます。追加します。私はあなたがなぜそのデータをもう一度見直して保存したいのか分かります。私があなたの答えを助けるためのより多くの情報を提供できるかどうか私に教えてください。私は本当にあなたの応答に感謝します。 – mmatzen

+0

私はあなたのページを見て、あなたの問題を見るために何をクリックするのかうまくいかなかった。プラス面ではページは見栄えが良いですが、マイナス面ではウェブ用に画像を最適化するために時間を費やす必要があります。たとえば、home-bg-edit.jpgという画像は325kです。数秒後に私はそれをPhotoshopからウェブに保存し、それを60kに落としたが、それはまだよく見えた。あなたはクッキーを使うことを考えましたか?これらはユーザーのマシンに格納され、配列も格納できます。 –

+0

トーマス - ありがとうございます。はい - いくつかのものを最適化する必要があります。 Photoshopはすばらしいことですが、常にこれを好きです:http://compressor.io。とにかく、地図上のピンをクリックすると、追加をクリックしてからオフをクリックし、ピンをクリックしてもう一度追加します。 (残りのページが終了したら指示が明確になります)。 divにロードされるその情報は、次の訪問のためにそこにあることが素晴らしいだろう。これはクッキーと関係がありますか?もしそうなら、私が読むべき有益な記事がありますか?どうもありがとうございます! – mmatzen

関連する問題