0

こんにちは皆さん、これは少し奇妙です。私はJavaScript/プログラミング全般に慣れていないので、簡単に修正できるかもしれません。基本的に現在、単純なカウンター機能が設定されたWebサイトを持っていますここに見られるように画像:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
</style>
<title></title>
<script type="text/javascript">
var count = 0;
function countClicks() {
 count = count + 1;
    document.getElementById("p2").innerHTML = count;
}
</script>

</head>
<body>
<table border="0">

<td>
<div id="p2" style="padding-left:15px; font-size:30px; font-family:Showcard        Gothic">0</div><br/>
<div>
<img onclick="javascript:countClicks();" src="C:\Users\DOMINATION\Desktop\button.jpg"     alt="alt text" />
</div>
</td>
</body>
</html>

基本的には、サイトが更新されるたびに、カウンターが最後に変更されたときに設定されたときと同じになるようにしたいです。たとえば、誰かがサイトにアクセスしてカウンターを4にすると、別のユーザーがサイト/同じ人がページを更新しても、カウンターは 4 のままです。これは可能ですか?

4

3 に答える 3

2

サーバー側に保存するもの (すべてのユーザーが見る) とクライアント側に保存するものをユーザーごとに区別する必要があります。

クライアント側のストレージに関してはlocalStorage、ユーザーが入力した値を記憶できる場所を利用して、オフラインで使用できるようにすることができます。次にユーザーがページを開く/更新すると、以前に入力した値が再び取得されます。この値は、すべてのユーザーのローカル コンピューターに個別に保存されるため、他のユーザーには表示されません。
これは良い記事です: http://www.html5rocks.com/en/tutorials/offline/storage/

一方、何かを複数のユーザーと共有したい場合は、それらすべてがアクセスできる中央の場所、つまりサーバーに保存する必要があります。

于 2012-10-06T21:59:52.103 に答える
0

クライアントで Javascript のみを使用する簡単な修正はありません (Javascript は HTML コードに配置されます)。

あなたが説明したことが機能するためには、あるユーザーが実行したクリックをサーバー経由で他のユーザーと共有する必要があります。したがって、これが機能するには、サーバー側のロジックが必要です。

于 2012-10-06T21:59:23.953 に答える
0

JavaScript のみを使用してクライアント側に保存する場合は不可能であり、サーバー側にも保存する必要があります。

あなたの状況では、サーバーに ajax 呼び出しを行って、ボタンのクリック数を更新するのが最善です。スタックオーバーフローの質問ブローには、同様の状況があります。

jQuery - ボタンがクリックされたときにカウンターの値を増やす

于 2012-10-06T21:59:26.887 に答える