Ajaxの解説ページ
流行の技術ということでAjax。
Web2.0という考え方もあり、Ajaxは必須の技術になりつつある(ような気がする)。JavaScriptを使うのはどうも苦手なのだが、すばらしい解説ページを見つけた。
http://www.openspc2.org/JavaScript/Ajax/Ajax_study/index.html
今年中にマスターしたい。
流行の技術ということでAjax。
Web2.0という考え方もあり、Ajaxは必須の技術になりつつある(ような気がする)。JavaScriptを使うのはどうも苦手なのだが、すばらしい解説ページを見つけた。
http://www.openspc2.org/JavaScript/Ajax/Ajax_study/index.html
今年中にマスターしたい。
(その1)で作ったJavaScriptから呼び出されるanalyze.jsはこんな感じ。ここでJavaScriptで取得できうるすべてのデータを次のJavaScriptに渡す。もちろん呼び出し元のuserやtypeも次へ引き渡す。引渡し先は純粋なJavaScriptではなくプログラム。
var argObject=new Object;
argObject[‘url’]=escape(window.location);
argObject[‘ref’]=escape(document.referrer);
argObject[‘os’]=window.navigator.platform;
argObject[‘appname’]=window.navigator.appName;
argObject[‘appversion’]=window.navigator.appVersion;
argObject[‘useragent’]=window.navigator.userAgent;
argObject[‘color’]=window.screen.colorDepth;
argObject[‘screen’]=window.screen.width + ‘x’ + window.screen.height;
argObject[‘cookie’]=window.navigator.cookieEnabled;
var argString=”;
for(key in argObject){
argString=argString + key + ‘=’ + argObject[key] + ‘&';
}
if(typeof(user)==’undefined’){
document.write(‘Setup Error’);
}else if(!user.match(/^[a-z0-9]+$/)){
document.write(‘Setup Error’);
}else if(typeof(type)==’undefined’){
document.write(‘Setup Error’);
}else if(!type.match(/^[0-9]$/)){
document.write(‘Setup Error’);
}else{
document.write("<script type=’text/javascript’ src=background.js?user=" + user + "&type=" + type + "&" + argString +"’></script>");
}
車輪の再発明は極力避けるつもりであったけど、諸般の事情で自作することにした。ここでメモを残す。
以下がアクセス解析をしたいページに埋め込むJavaScriptのソース。
<script type="text/javascript">
var user=’username';
var type=’1′;
</script>
<script type="text/javascript" src="analyze.js"></script>
ここでuserには、なんらかのユーザ名などを埋め込むと仮定。typeも同様(オプション項目みたいな感じでプログラムに渡したい変数があれば・・・)。
ただしこれではJavaScriptが有効になっているブラウザでしか読み込むことができないので別途<noscript>タグで囲まれたプログラムの埋め込みは必要。これについては別内容として検討。
また別のアクセス解析プログラムを見つけたのでメモ。
これは和製で結構本格的な予感。
http://fmono.sub.jp/
現在後継バージョンを作成中なのだとか。
デザイン的にも大変美しいので、普通の人が普通にアクセス解析をする場合はこれで十分対応可能。
ただ調べてみたところログはデータベース管理ではなく、ファイルで管理している模様。バージョンアップというのはDB対応か。
これはなかなかいけそうだ。勉強させてもらうことにしよう。