A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
課題とのことなので、ヒントのみですが・・・
「リンク先へのページの訪問回数、前回訪問日時」はリンク元のページを辿った場合をカウントするのか、それとも別のルートを辿った場合も含めてカウントするかによって考え方が変わりますね。
前者であれば、リンク元のページで完結することが可能で、そのページ内でリンクがクリックされたら、時間や回数をカウントするようにしておけばよいことはわかりますよね。
一つのページ内で(複数の)リンクがクリックされるのを監視するには、以下のような方法で可能です。
document.addEventListener("click", function(evt){
var t = evt.target;
if(t.nodeName == "A"){
//リンクがクリックされた場合の処理
alert("Clicked! href=" + t.href);
}
}, false);
後者の場合は、記録を保存するのはそれぞれのページで行い、表示は「元ページ」ということになりますね。
こちらの場合は、各ページに保存を行うスクリプトが必要になりますので、スクリプトを外部ファイル化しておいて、各ページで読み込むような方法が考えられます。
読み出すのが固定のページであるなら、その部分は上の外部ファイルとは別に作成しておくのがよいでしょう。
いずれの場合でも、(複数あると思われる)ページを区別できるように、ページ毎の符号や番号を設けておいて、訪問回数などを区別できるようにしておく必要がありますね。
>他のページで保存された情報を引用する方法がわかりません
Web Storageは同一ドメイン内では共通して利用が可能なようです。
https://developer.mozilla.org/en-US/docs/Web/API …
例えば以下のスクリプトは、記録されている内容をコンソール出力するものですので、ディレクトリを変えて試してみてください。
(ただしhttpアクセス時です。ローカルでfileアクセスなどする場合は同一ディレクトリのみのようです(未検証))
var ls = localStorage;
for(var key in ls){
if (ls.hasOwnProperty(key)) console.log(key + " / " + ls[key]);
}
ところで、『訪問回数』と一口に言っても、考え方はいろいろあると思います。
1)ページを表示すればカウントする
2)1回/日を限度としてカウントする
3)最後の表示から一定時間経過していたらカウントする
などなど。
なぜこのようなことを考えるかというと、1)のような方法だと、リロードしたりページ間を行き来するだけでカウントが増加してしまうので、本当に『訪問回数』を数えていることになるのだろうかという疑問があるからです。
まとまりがありませんが、考える上でのヒントになれば・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- ドメイン・サーバー・クラウドサービス 自作サイトをサーバーにアップロードしたのですが… 2 2022/11/08 18:12
- au(KDDI) 特定の画面を見るとスマホが固まります ご覧頂き有難うございます。 特定のページを見るとスマホが固まり 1 2023/08/21 19:29
- Excel(エクセル) Excelから複数のWordファイルを操作する方法について教えて頂きたい。 やりたいことは、複数のW 2 2022/07/26 20:11
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- WordPress(ワードプレス) wordpressでphpを読み込みたい 1 2022/10/30 23:40
- その他(プログラミング・Web制作) パイソンでのプログラミングについて 3 2022/08/11 20:31
- 高校受験 【受験まで残り3日】誰かアドバイス下さい。もう参考書を全て終わらせる時間が無いです。 私は理社の点数 2 2023/02/11 18:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
出発駅A、到着駅Bを選択すると...
-
特定の文字列を複数抜き出した...
-
jsで質問です。 displayプロパ...
-
GASに文字列として関数を入れる...
-
HTMLタグに複数のクラスを設定...
-
画面遷移を行わずに同一ページ...
-
React hooksが値を返して配列変...
-
Googleフォームで選択肢に応じ...
-
変数名をどのようにつけるのが...
-
HTMLで作った時報アプリが動き...
-
Colorboxがうまく設置できません
-
フロントエンドフレームワーク...
-
オブジェクトから任意のプロパ...
-
switch文のswitch(n)の部分を複...
-
var exports = exports || {}; ...
-
ボタンを押したあとに画像を表...
-
disabled プロパティが表示され...
-
Cookieに保存されない
-
コードレビューをお願いします。
-
指定時間になったら、WEBサイト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ホームページ制作で教えてくだ...
-
個人hp 外部ページへのリンク...
-
サーチコンソールで被リンクを...
-
画面のどこかをクリックすると
-
HTMLのリンクの色をクリックす...
-
ページ内リンクでアコーディオ...
-
ペナルティを受けない被リンク
-
スマホでボタンがhoverの状態か...
-
リロードした時にページの一番...
-
Googleフォームの回答リンクに...
-
メールにURLリンクを記載し送信...
-
戻るボタンで戻れない
-
逆マウスストーカーってあります?
-
C++で作成したDLLを vb.net か...
-
jquery loadでページを読み込...
-
jQuery Cycle Pluginについて
-
GOOGLEのページランクについて
-
a:hoverで設定した内容をクリッ...
-
サイト内投票ボタン(いいね等)...
-
リンク先を新しいタブで開けな...
おすすめ情報