window.location
document.location
location.href
のどれを使えばちゃんとURLを取得してアレコレできるのかよくわからないので調べた。
・window.location
”現在表示しているアドレス(URL)に関する情報を持つオブジェクトです。”
ってことはオブジェクトが返ってくるだけでURL自体を取得できるわけじゃない。プロパティ指定してホスト名とかプロトコルとかのURLの各部分を返すみたい。
例:
location.protocol → protocol: "http:"
location.hostname → hostname: "www.yyy.zzz"
なので
var host = window.location.hostname;
alert(host.substring(2,8));
だと”hatena”が返ってくるけど
var host = window.location;
alert(host.substring(2,8));
だとエラーで動かない。
オブジェクトは返ってくるけどプロパティが指定されてないから。
・document.location
調べたけどよくわからんかった><)
・location.href
”現在表示しているページのアドレス(URL)を示す文字列です。”
文字列なので
var url = location.href;
alert(url.indexOf("start="));
などとして文字列メソッドの引数として使える。
なのでURL自体をどうにかしたかったら
location.href
を使うのがよい。