JavaScript入门教程(8) Location地址对象


Posted in Javascript onJanuary 31, 2009

若要表示某一个窗口的地址,就使用“<窗口对象>.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.webjx.com/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 相关文章推荐
javascript事件模型代码
Jul 01 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
Oct 18 Javascript
jQuery 事件的命名空间简单了解
Nov 22 Javascript
JavaScript实现MIPS乘法模拟的方法
Apr 17 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
Apr 25 Javascript
全面理解JavaScript中的闭包
May 12 Javascript
Bootstrap开关(switch)控件学习笔记分享
May 30 Javascript
再谈javascript常见错误及解决方法
Sep 16 Javascript
React-Native 组件之 Modal的使用详解
Aug 08 Javascript
vue resource post请求时遇到的坑
Oct 19 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
Jun 27 Javascript
JavaScript实现文件下载并重命名代码实例
Dec 12 Javascript
JavaScript入门教程(7) History历史对象
Jan 31 #Javascript
JavaScript入门教程(6) Window窗口对象
Jan 31 #Javascript
JavaScript入门教程(5) js Screen屏幕对象
Jan 31 #Javascript
JavaScript入门教程(3) js面向对象
Jan 31 #Javascript
JavaScript入门教程(2) JS基础知识
Jan 31 #Javascript
JavaScript入门教程(1) 什么是JS
Jan 31 #Javascript
JavaScript库 开发规则
Jan 31 #Javascript
You might like
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP cURL初始化和执行方法入门级代码
2015/05/28 PHP
Codeigniter控制器controller继承问题实例分析
2016/01/19 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
自动生成文章摘要的代码[JavaScript 版本]
2007/03/20 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
js实现九宫格图片半透明渐显特效的方法
2015/02/16 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
AngularJS实现图片上传和预览功能的方法分析
2017/11/08 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
[04:02]2014DOTA2国际邀请赛 BBC每日综述中国战队将再度登顶
2014/07/21 DOTA
python常见排序算法基础教程
2017/04/13 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
2018/05/18 Python
Flask-Mail用法实例分析
2018/07/21 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
2020/06/24 Python
浅谈优化Django ORM中的性能问题
2020/07/09 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
销售自我评价
2013/10/22 职场文书
通信生自我鉴定
2014/01/18 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
通信工程求职信
2014/07/16 职场文书
汽车转让协议书范本
2014/12/07 职场文书
电影建国大业观后感
2015/06/01 职场文书
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技