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 相关文章推荐
IE浏览器兼容Firefox的JS脚本的代码
Oct 23 Javascript
多个jquery.datatable共存,checkbox全选异常的快速解决方法
Dec 10 Javascript
用js正确判断用户名cookie是否存在的方法
Jan 28 Javascript
javascript中声明函数的方法及调用函数的返回值
Jul 22 Javascript
JQuery标签页效果实例详解
Dec 24 Javascript
jquery动态添加文本并获取值的方法
Oct 12 Javascript
vue.js配合$.post从后台获取数据简单demo分享
Aug 11 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
vue 点击展开显示更多(点击收起部分隐藏)
Apr 09 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
Oct 17 Javascript
JavaScript编码小技巧分享
Sep 17 Javascript
vue递归实现树形组件
Jul 15 Vue.js
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
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
Yii学习总结之安装配置
2015/02/22 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
AngularJS Select(选择框)使用详解
2017/01/18 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
Python实现抓取网页并且解析的实例
2014/09/20 Python
Python使用urllib2模块抓取HTML页面资源的实例分享
2016/05/03 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
django-初始配置(纯手写)详解
2019/07/30 Python
Python下载的11种姿势(小结)
2020/11/18 Python
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
HTML5制作3D爱心动画教程 献给女友浪漫的礼物
2014/11/05 HTML / CSS
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
夜大毕业自我鉴定
2013/10/11 职场文书
园林资料员岗位职责
2013/12/30 职场文书
《北京的春节》教学反思
2014/04/07 职场文书
实习生矿工检讨书
2014/10/13 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
鲁迅故里导游词
2015/02/05 职场文书
青年教师个人总结
2015/02/11 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
解决MySQL存储时间出现不一致的问题
2021/04/28 MySQL
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
最新最全的手机号验证正则表达式
2022/02/24 Javascript
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle