ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript window.location object_Basics
window.location をよく使いますが、その構造を思い出せません。今後の問い合わせを容易にするために、簡単に整理してみましょう。
例
URL: http://b.a.com:88/index.php?name=kang&when=2011#first
属性 | 含义 | 值 |
---|---|---|
protocol: | 协议 | "http:" |
hostname: | 服务器的名字 | "b.a.com" |
port: | 端口 | "88" |
pathname: | URL中主机名后的部分 | "/index.php" |
search: | "?"后的部分,又称为查询字符串 | "?name=kang&when=2011" |
hash: | 返回"#"之后的内容 | "#first" |
host: | 等于hostname port | "b.a.com:88" |
href: | 当前页面的完整URL | "http://www.a.com:88/index.php?name=kang&when=2011#first" |
window.location と document.location は互いに同等であり、互換的に使用できます
location の 8 つの属性はすべて読み書き可能ですが、href と hash の書き込みのみが意味を持ちます。たとえば、location.href を変更すると URL に再配置され、location.hash を変更するとアンカーの名前 ( または 注意
メソッド location.assign( url )
URL: http://b.a.com:88/index.php?name=kang&how=#when=2011#first
search:"?name=kang&how="最初の「?」の後
search:
"?name=kang&how="
第一个"?"之后
hash:
"#when=2011#first"
第一个"#"之后的内容
hash:"#when=2011#first"最初の"#"以降の内容
location.assign('http://www.baidu.com'); は window.location = 'http://www.baidu.com'
と同等です。
このメソッドは、新しいアドレスをブラウザ履歴スタックに置きます。つまり、新しいページに移動した後でも、「戻るボタン」でそのページに戻ることができます。
location.replace( url )
assign メソッドと同じですが、このページはブラウザの履歴スタックから削除されます。つまり、新しいページにジャンプした後、「戻るボタン」でページに戻ることはできません。現在、IE と Chrome は単純にジャンプしており、Firefox のみがこのページの履歴を削除します。
location.reload(force)
現在のページを再読み込みします。 Force が true の場合はサーバーから再ロードされ、false の場合はブラウザーのキャッシュから再ロードされます。デフォルト値は false です。