JavaScript中的Location地址对象


Posted in Javascript onJanuary 16, 2008

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.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 
//}  

// 回到首页
function gohome() {  
top.location = "/index.aspx";  

Javascript 相关文章推荐
用jQuery实现检测浏览器及版本的脚本代码
Jan 22 Javascript
javascript跨域刷新实现代码
Jan 01 Javascript
基于jquery的合并table相同单元格的插件(精简版)
Apr 05 Javascript
JavaScript中instanceof运算符的用法总结
Nov 19 Javascript
jquery scroll()区分横向纵向滚动条的方法
Apr 04 Javascript
javascript单页面手势滑屏切换原理详解
Mar 21 Javascript
基于javascript实现tab切换特效
Mar 29 Javascript
轻松掌握JavaScript中介者模式
Aug 26 Javascript
jQuery简单获取DIV和A标签元素位置的方法
Feb 07 Javascript
JavaScript实现开关等效果
Sep 08 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
Dec 22 Javascript
vue 点击按钮增加一行的方法
Sep 07 Javascript
JavaScript中的History历史对象
Jan 16 #Javascript
JavaScript中的Window窗口对象
Jan 16 #Javascript
JavaScript中的Screen屏幕对象
Jan 16 #Javascript
JavaScipt基本教程之JavaScript语言的基础
Jan 16 #Javascript
JavaScipt基本教程之前言
Jan 16 #Javascript
JavaScript中Math对象使用说明
Jan 16 #Javascript
语义化 H1 标签
Jan 14 #Javascript
You might like
PHP优于Node.js的五大理由分享
2012/09/15 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
smarty简单分页的实现方法
2014/10/27 PHP
php源码 fsockopen获取网页内容实例详解
2016/09/24 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
javascript新手语法小结
2008/06/15 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
2013/11/10 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
vue v-for 使用问题整理小结
2019/08/04 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
[01:10]DOTA2次级职业联赛 - U5战队宣传片
2014/12/01 DOTA
Python使用turtule画五角星的方法
2015/07/09 Python
python利用pandas将excel文件转换为txt文件的方法
2018/10/23 Python
简单了解python反射机制的一些知识
2019/07/13 Python
HTML5 source标签:媒介元素定义媒介资源
2018/01/29 HTML / CSS
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
可持续未来的时尚基础:Alternative Apparel
2019/05/06 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
应用数学自荐书范文
2013/11/24 职场文书
社区食品安全实施方案
2014/03/28 职场文书
手术室护士长竞聘书
2014/03/31 职场文书
小学英语课后反思
2014/04/26 职场文书
工作建议书范文
2014/05/13 职场文书
担保书格式
2015/01/20 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
初中美术教学反思
2016/02/17 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript