注意:属于不同协议或不同主机的两个地址之间不能互相引用对方的 location 对象,这是出于安全性的需要。例如,当前窗口打开的是下面的某一页,另外一个窗口(对象名为:bWindow)打开的是的网页。如果在当前窗口使用bWindow.location,就会出错:没有权限。这个错误是不能用错误处理程序(Event Handler,参阅 onerror 事件)来接收处理的。
第一、简单介绍一下location属性、用法以及相关示例:
Location
包含了关于当前 URL 的信息。location对象描述了与一个给定的 Window 对象关联的完整 URL。location 对象的每个属性都描述了 URL 的不同特性。
通常情况下,一个 URL 会有下面的格式:协议//主机:端口/路径名称#哈希标识?搜索条件
例如: 这些部分是满足下列需求的:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)
协议是 URL 的起始部分,直到包含到第一个冒号。
主机描述了主机和域名,或者一个网络主机的 IP 地址。
端口描述了服务器用于通讯的通讯端口。
路径名称描述了 URL 的路径方面的信息。
哈希标识描述了 URL 中的锚名称,包括哈希掩码(#)。此属性只应用于 HTTP 的 URL。
搜索条件描述了该 URL 中的任何查询信息,包括问号。此属性只应用于 HTTP 的 URL。搜索条件字符串包含变量和值的配对;每对之间由一个&连接。
属性概览
protocol 返回地址的协议,取值为 'http:','https:','file:' 等等。
hostname 返回地址的主机名,例如,一个的地址,location.hostname == 'www.microsoft.com'。
port 返回地址的端口号,一般 http 的端口号是 '80'。
host 返回主机名和端口号,如:'www.a.com:8080'。
pathname 返回路径名,如,location.pathname == 'b/c.html'。
hash 返回#以及以后的内容,如,location.hash == '#chapter4';如果地址里没有#,则返回空字符串。
search 返回?以及以后的内容,如,location.search == '?selection=3&jumpto=4';如果地址里没有?,则返回空字符串。
href 返回以上全部内容,也就是说,返回整个地址。在浏览器的地址栏上怎么显示它就怎么返回。如果想一个窗口对象打开某地址,可以使用location.href = '...',也可以直接用location = '...'来达到此目的。
方法概览
reload() 相当于按浏览器上的刷新(IE)或Reload(Netscape)键。
replace() 打开一个 URL,并取代历史对象中当前位置的地址。用这个方法打开一个 URL 后,按下浏览器的后退键将不能返回到刚才的页面。
二、location之页面跳转js如下:
//简单跳转function gotoPage(url) {
// eg. var url = "newsview.html?catalogid="+catalogID+"&pageid="+pageid;
window.location = url;
}
// 对location用法的升级,为单个页面传递参数function goto_catalog(iCat) {
if(iCat=0) {
top.location = "../index.aspx"; // top出去
} else {
window.location = "../newsCat.aspx?catid="+iCat;
}
}
// 对指定框架进行跳转页面,二种方法皆可用function goto_iframe(url) {
parent.mainFrame.location = "../index.aspx"; //
// parent.document.getElementById("mainFrame").src = "../index.aspx";// use dom to change page // 同时我增加了dom的写法
}
// 对指定框架进行跳转页面,因为 parent.iframename.location="../index.aspx"; 方法不能实行,主要是 "parent.iframename" 中的iframename在js中被默认为节点,而不能把传递过来的参数转换过来,所以用dom实现了该传递二个参数的框架跳转页面,希望那位仁兄不吝赐教!function goto_iframe(iframename,url) {
parent.document.getElementById(iframename).src = "../index.aspx";// use dom to change page by iframeName
/