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 相关文章推荐
JS类定义原型方法的两种实现的区别评论很多
Sep 12 Javascript
JS 分号引起的一段调试问题
Jun 18 Javascript
xml转json的js代码
Aug 28 Javascript
javascript中encodeURI和decodeURI方法使用介绍
May 06 Javascript
jQuery Validate验证框架经典大全
Sep 23 Javascript
javascript中BOM基础知识总结
Feb 14 Javascript
JavaScript的Object.defineProperty详解
Jul 09 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
Aug 20 Javascript
Vue.js数字输入框组件使用方法详解
Oct 19 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
Jul 11 Javascript
vuecli项目构建SSR服务端渲染的实现
Oct 30 Javascript
javascript实现随机抽奖功能
Dec 30 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
一篇不错的PHP基础学习笔记
2007/03/18 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
强大Vue.js组件浅析
2016/09/12 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
2016/12/24 Javascript
原生js实现返回顶部缓冲效果
2017/01/18 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
Python编程快速上手——强口令检测算法案例分析
2020/02/29 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
Shell编程面试题
2016/05/29 面试题
终端业务员岗位职责
2013/11/27 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
仲裁协议书
2014/09/26 职场文书
婚前协议书范本
2014/10/27 职场文书
采购员工作总结范文
2015/08/12 职场文书
PHP对接阿里云虚拟号的实现(号码隐私保护)
2021/04/06 PHP
完美解决golang go get私有仓库的问题
2021/05/05 Golang