2017-08-06 11 views
1

JavaScriptでページビューを取得するにはどうすればよいですか?

スタックオーバーフローのように、ページが何回表示されたかを表示したいと考えています。

JavaScriptで行うには?どうも!

JavaScriptでページビューを取得するには?

+2

、あなたの質問にあなたのコードを投稿してください。あなた自身で何も試していないのであれば、それを行うプログラマーを雇う。 –

+0

これはクライアント側のJavaScriptでは不可能です。 – PeterMader

+0

[JavaScriptを使用して過去24時間のページビュー数を追跡できますか?](https://stackoverflow.com/questions/30474029/is-it-possible-to-use-javascript-to-過去24時間のトラック・ハウ・メイド・ページ・ビュー) –

答えて

0

クライアント側のJavaScriptを使用しても、ジョブは完了しません。

しかし、まだJavaScriptを使用したい場合は、Node.jsを見てください。理想的には、一意のセッション数を記録することができますが、ページの更新をページビューとして記録することはできます。

これは、次のコードで行うことができますが、あなたはNode.jsのがどのように動作するかを知っていることを提供する:

var http = require('http'); // Require HTTP module 
var pageViewCount = 0; // Declare and initialise the page view count 

var server = http.createServer(function (req, res) { 
    res.writeHead(200, { 'Content-Type': 'text/plain' }); // Headers 

    pageViewCount++; // Increase the page view count for every successful page load request 

    console.log('There are currently ' + pageViewCount + ' views'); // Output in console the amount of total page views 
    res.end(); 
}); 

server.listen(8000); 
console.log('Server is currently running'); 

現在のNode.jsに関するより多くの情報を見つけることができます。https://nodejs.org/en/docs/

を覚えておいてくださいこの回答にはNode.jsに関する知識が必要ですが、この特定の問題の解決策を提供するためにサーバー側のJavaScriptを使用できることが確認されています。あなたが次のことを行うことができ

0
nodejs(サーバーサイドのjavascript)で

と(ライブラリ)を発現する:は次のようになります。

var counter = 0; 
var app = require("express"); 
app.get("/",function(req,res){ 
    counter++; 
    res.render("main.ejs",{counter}); 
}); 

app.listen(80); 

main.ejs:

The page was visited <%= counter %> times... 
+0

1.ページビュー・カウンターではありません。それはページURL に依存するはずです。2.このカウンタはメモリに保存され、サービスの再起動後に消去されます – pvolyntsev

+0

1)それは何ですか? 2)はい、これは単なる出発点に過ぎません。私はオペレーションをやりません... –

0

これを行うことができますJavaScriptで。ブラウザーのローカルストレージを使用して、ページビューカウントを格納して使用する必要があります。 window.localStorageまたはwindow.sessionStorageのいずれかを使用できます。

sessionStorageはphpセッションのように動作し、ブラウザを閉じると1つのブラウジングセッションでのみ使用できます。ブラウザを閉じると、ブラウザによってsessionStorageデータが削除されます。ただし、localStorageは、ユーザーがブラウザのデータを手動で削除するまで、ブラウザによって削除されません。

私はあなたの2つの実装つもりショーだ:のlocalStorageを使用して

ページビューをカウントするために使用することができますのlocalStorageに変数を格納することができます。 :window.sessionStorageのを使用して

var myStorage = window.localStorage, pageCount; 
window.addEventListener('load', function(){ 
    if(!myStorage.getItem("pageCount")){ 
     myStorage.setItem('pageCount', 1); 
    } else { 
     pageCount = myStorage.getItem("pageCount"); 
     pageCount = pageCount + 1; 
     myStorage.setItem('pageCount', pageCount); 
    } 
    console.log('page view count', myStorage.getItem("pageCount")); 
}); 

または:あなたがあなた自身のために何かをしようとした場合

var mySession = window.sessionStorage, pageCount; 
window.addEventListener('load', function(){ 
    if(!mySession.getItem("pageCount")){ 
     mySession.setItem('pageCount', 1); 
    } else { 
     pageCount = mySession.getItem("pageCount"); 
     pageCount = pageCount + 1; 
     mySession.setItem('pageCount', pageCount); 
    } 
    console.log('page view count of current browsing session', mySession.getItem("pageCount")); 
}); 
関連する問題