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 相关文章推荐
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
Jun 20 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
Nov 12 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
Mar 25 Javascript
关于JS中的apply,call,bind的深入解析
Apr 05 Javascript
javaScript中的原型解析【推荐】
May 05 Javascript
JS HTML5拖拽上传图片预览
Jul 18 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
Nov 17 Javascript
JavaScript实现垂直滚动条效果
Jan 18 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
Feb 22 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
Apr 02 Javascript
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 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多个文件及图片上传实例详解
2014/11/10 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
javascript工具库代码
2012/03/29 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
2013/11/15 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
jQuery实现判断滚动条滚动到document底部的方法分析
2019/08/27 jQuery
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
Python中表示字符串的三种方法
2017/09/06 Python
Python栈算法的实现与简单应用示例
2017/11/01 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
大学本科生的个人自我评价
2013/12/09 职场文书
幼儿园教师备课制度
2014/01/12 职场文书
学前班评语大全
2014/05/04 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers