location 对象的属性和方法

作者:vkvi 来源:千一网络(原创) 日期:2009-5-8

location 对象的属性

假设我们的 URL 是:

http://www.cftea.com:81/location.htm?key=asp#result

那么 location 对象的属性结果是:

location.hostname = www.cftea.com
location.href = http://www.cftea.com/location.htm?key=asp#result
location.host = www.cftea.com:81
location.hash = #result
location.port = 81
location.pathname = /location.htm
location.search = ?key=asp
location.protocol = http:

需要说明

  • 如果 port 不为空,则 host = hostname + ":" + port;如果 port 为空,则 host = hostname。一般来说我们都使用默认端口 80,所以 port 一般为空。
  • hash 是包含 # 的。
  • pathname 是包含 / 的。
  • search 是包含 ? 的。
  • protocol 是包含 : 的。
  • 以上属性均是可读可写的。
  • 如果直接对 location 取值赋值,就相当于对 location.href 取值赋值。
  • 在 Ajax 中,可利用 hash 实现前进后退功能。

href = protocol + "//" + host + pathname + search + hash(在本地双击 htm 文件用浏览器打开时可能不适用本公式)

location 对象的方法

  • assign(sURL) 读取新的 URL。
  • reload([bReloadSource]) bReloadSource 默认为 false,表示从缓存中重新读取;如果为 true,表示从服务端重新读取。
  • replace(sURL) 读取新的 URL。

需要说明

  • assign 与 replace 是有区别的。假设有 assign.htm 用 assign 跳转到 history.htm,那么在 history.htm 的 JavaScript 对象 history 中就会记录两条历史记录;假设有 replace.htm 用 replace 跳转到 history.htm,那么在 history.htm 的 JavaScript 对象 history 中就只有一条历史记录(该记录为 history.htm,而不是 replace.htm)。
  • 用 assign 跳转和 href 跳转则没有什么区别。

相关阅读

你前面那位网友看了:变废为宝 将旧电脑打造成视频服务器

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
标题:必填
内容:
本站永远终止与捏造“罪名”不支付广告费的某度联盟合作。
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他