返回列表

javascript的location对象

默认分类 2011-03-16 02:38:22

转载:http://hi.baidu.com/longniao/blog/item/dfe957df978e5111495403e7.html
javascript的location对象
2007-07-31 14:01

对于Location这个JS内建的对象,似乎很多人都仅仅是应用href和search这两个属性。其实Location对象内建有多个属性和方法,都可以直接调用的。

属性

Location Properties
PropertiesDescriptionJSIENSOPFFKQSF
hash锚点,即#及其后面的锚点1.03.02.07.11.03.31.2
host主机名称+端口号1.03.02.05.121.03.31.2
hostname主机名称1.03.02.05.121.03.31.2
hrefurl完整地址1.03.02.07.11.03.31.2
pathname路径1.03.02.07.11.03.31.2
port端口1.03.02.07.11.03.31.2
protocol协议1.03.02.07.11.03.31.2
search搜索条件,即?及其后的参数字串1.03.02.07.11.03.31.2

方法


Location Methods
MethodsDescriptionJSIENSOPFFKQSF
replace()更改当前页面url1.14.03.05.121.03.31.2
reload()从缓存中重新加载页面内容1.14.03.05.121.03.31.2

范例

我们可以看一个范例:

http://blog.imkink.com:80/jssample/location.html?id=3#sample

这个URL地址中,我们可以列出Locaiton对应的各个属性:


Location Properties
PropertiesValue
protocolhttp:
hostblog.imkink.com:80
hostnameblog.imkink.com
hrefhttp://blog.imkink.com:80/jssample/location.html?id=3#sample
pathname/jssample/location.html
port80
search?id=3
hash#sample

说明

协议

关于协议,下表列出了主要的一些协议,请注意File协议要多带一个/号。


Protocol types
ProtocolURL typeExample
javascript:JavaScript codejavascript:history.go(-1)
view-source:Navigator source viewerview-source:wysiwyg://0/file:/c|/temp/genhtml.html
about:Navigator infoabout:cache
http:World Wide Webhttp://home.netscape.com/
file:/Filefile:///javascript/methods.html
ftp:FTPftp://ftp.mine.com/home/mine
mailto:MailTomailto:info@netscape.com
news:Usenetnews://news.scruznet.com/comp.lang.javascript
gopher:Gophergopher.myhost.com

两个方法的说明

replace()方法在效果上与直接将新URL地址赋值给location.href属性基本一致,但是使用replace()方法后,我们无法通过浏览器的“返回”按钮来回到上一页。

reload()方法和浏览器的“刷新”功能也有所区别,reload()方法仅仅是重新加载本地的缓存,而不会向服务器重新发出请求,这点还没有严格的测试过,不过应该在包含有表单的页面中特别注意。

附:

javascript 的history对象
history.back() 等同于按浏览器的后退按钮
history.forward() 等同于按浏览器的前进按钮
history.current 指当前的url(等同于location.href),
在历史中的索引位置总为 0
history.go(-2)或 history.go("任意.html") 向前或向后移动,
或查找字符串标明的最新url