// locationchange.js // // Copyright (C) 2007 serikashiki //////////////////////////////////////////////////////////////////////////////// var ID = 0; var SERVER = "http://hogehoge.com/"; const _locationchangeListener = { onStatusChange: function(){}, onProgressChange: function(){}, onLocationChange: function(aWebProgress, aRequest, aLocation){ var query; query = SERVER + "?ID=" + ID + "&URL=" + aLocation.asciiSpec.replace(/#/g, "%17").replace(/&/g, "%26").replace(/=/g, "%3d"); var httpReq; httpReq = new XMLHttpRequest(); httpReq.onload = _locationchangeHttpLoaded; httpReq.onerror = function() { alert("err");}; try { httpReq.open("GET", query, true); httpReq.send(null); } catch(e) { httpReq.abort(); } }, onStateChange: function(){}, onSecurityChange: function(){} }; function _locationchangeHttpLoaded(e) { var httpReq = e.target; var uri = httpReq.channel.originalURI; try { if(ID == 0){ ID = httpReq.responseText; } } catch(e) { } } function _locationchangeInstall(event) { var b = getBrowser(); b.addProgressListener(_locationchangeListener); } function _locationchangeUnInstall(event) { var b = getBrowser(); if(b){ b.removeProgressListener(_locationchangeListener); } window.removeEventListener("load", _locationchangeInstall, false); } window.addEventListener("load", _locationchangeInstall, false); window.addEventListener("unload", _locationchangeUnInstall,false);