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 相关文章推荐
javascript使用switch case实现动态改变超级链接文字及地址
Dec 16 Javascript
浅谈Javascript线程及定时机制
Jul 02 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
Aug 21 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
Nov 25 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
Jan 28 Javascript
js实现显示手机号码效果
Mar 09 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
Dec 29 Javascript
vue+elementUI实现图片上传功能
Aug 20 Javascript
JS实现网页烟花动画效果
Mar 10 Javascript
JavaScript组合模式---引入案例分析
May 23 Javascript
解决Antd 里面的select 选择框联动触发的问题
Oct 24 Javascript
浅谈Vue的computed计算属性
Mar 21 Vue.js
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 特殊字符处理函数
2008/09/05 PHP
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
php二维数组排序方法(array_multisort usort)
2013/12/25 PHP
php foreach正序倒序输出示例代码
2014/07/01 PHP
ThinkPHP应用模式扩展详解
2014/07/16 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
JS 无法通过W3C验证的处理方法
2010/03/09 Javascript
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
AngularJS报错$apply already in progress的解决方法分析
2017/01/30 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
2018/05/24 jQuery
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
pandas中的DataFrame按指定顺序输出所有列的方法
2018/04/10 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
python 表格打印代码实例解析
2019/10/12 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
浅谈Python中的继承
2020/06/19 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
德国自行车商店:Tretwerk
2019/06/21 全球购物
小学校园文化建设汇报材料
2014/08/19 职场文书
大一工商管理职业生涯规划:有梦最美,行动相随
2014/09/18 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
springboot项目以jar包运行的操作方法
2021/06/30 Java/Android
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL