js中 location对象的使用

来源:互联网 发布:h5 js 打开支付宝app 编辑:程序博客网 时间:2024/06/05 08:55

location 地址对象
它描述的是某一个窗口对象所打开的地址。要表示当前窗口的地址,只需要使用“location”就行了;若要表示某一个窗口的地址,就使用“<窗口对象>.location”。先前写了一片用window.location.href实现刷新另个框架页面
,特此我看了一下locaiton的详细用法,对此有点改进,具体如下: 

注意:属于不同协议或不同主机的两个地址之间不能互相引用对方的
location 对象,这是出于安全性的需要。例如,当前窗口打开的是“www.a.com”下面的某一页,另外一个窗口(对象名为:bWindow)打开的是“www.b.com”的网页。如果在当前窗口使用“bWindow.location”,就会出错:“没有权限”。这个错误是不能用错误处理程序(Event
Handler,参阅 onerror 事件)来接收处理的。

第一、简单介绍一下location属性、用法以及相关示例: 

Location 

包含了关于当前 URL
的信息。location对象描述了与一个给定的 Window 对象关联的完整 URL。location 对象的每个属性都描述了 URL
的不同特性。

通常情况下,一个 URL
会有下面的格式:协议//主机:端口/路径名称#哈希标识?搜索条件

例如:http://www.ijavascript.cn/jiaocheng/index.html#topic1?x=7&y=2 这些部分是满足下列需求的:

  • “协议”是 URL 的起始部分,直到包含到第一个冒号。
  • “主机”描述了主机和域名,或者一个网络主机的 IP 地址。  
  • “端口”描述了服务器用于通讯的通讯端口。
  • 路径名称描述了 URL 的路径方面的信息。  
  • “哈希标识”描述了 URL 中的锚名称,包括哈希掩码(#)。此属性只应用于 HTTP 的 URL。
  • “搜索条件”描述了该 URL 中的任何查询信息,包括问号。此属性只应用于 HTTP 的
    URL。“搜索条件”字符串包含变量和值的配对;每对之间由一个“&”连接。

属性概览 

  • protocol 返回地址的协议,取值为 'http:','https:','file:' 等等。
  • hostname 返回地址的主机名,例如,一个“http://www.microsoft.com/china/”的地址,location.hostname == 'www.microsoft.com'。
  • port 返回地址的端口号,一般 http 的端口号是 '80'。
  • host 返回主机名和端口号,如:'www.a.com:8080'。
  • pathname 返回路径名,如“http://www.a.com/b/c.html”,location.pathname == 'b/c.html'。
  • hash 返回“#”以及以后的内容,如“http://www.a.com/b/c.html#chapter4”,location.hash == '#chapter4';如果地址里没有“#”,则返回空字符串。
  • search 返回“?”以及以后的内容,如“http://www.a.com/b/c.asp?selection=3&jumpto=4”,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.getElementByIdx("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.getElementByIdx(iframename).src =
"../index.aspx";// use dom to change page by iframeName

//} 

// 回到首页

function gohome() { 

top.location =
"/index.aspx"; 

}

0 0
原创粉丝点击