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 相关文章推荐
一起来写段JS drag拖动代码
Dec 09 Javascript
js replace正则表达式应用案例讲解
Jan 17 Javascript
jquery实现华丽的可折角广告代码
Sep 02 Javascript
jQuery实现自定义右键菜单的树状菜单效果
Sep 02 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
Oct 24 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
Nov 07 Javascript
不得不看之JavaScript构造函数及new运算符
Aug 21 Javascript
JavaScript 有用的代码片段和 trick
Feb 22 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
Feb 22 Javascript
JS实现li标签的删除
Apr 12 Javascript
IDEA安装vue插件图文详解
Sep 26 Javascript
vue组件创建的三种方式小结
Feb 03 Javascript
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版
2016/07/21 PHP
在Laravel中使用DataTables插件的方法
2018/05/29 PHP
jQuery select的操作实现代码
2009/05/06 Javascript
js 操作css实现代码
2009/06/11 Javascript
关于 文本框默认值 的操作js代码
2012/01/12 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
chrome浏览器如何断点调试异步加载的JS
2016/09/05 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
js实现复制功能(多种方法集合)
2018/01/06 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
Angular5中调用第三方js插件的方法
2018/02/26 Javascript
使用vue-cli导入Element UI组件的方法
2018/05/16 Javascript
angular6 填坑之sdk的方法
2018/12/27 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
python快速排序代码实例
2013/11/21 Python
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
python验证码识别实例代码
2018/02/03 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
python动态进度条的实现代码
2019/07/03 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
canvas简易绘图的实现(海绵宝宝篇)
2018/07/04 HTML / CSS
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
Europcar比利时:租车
2019/08/26 全球购物
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
学前班教师的自我鉴定
2013/12/05 职场文书
大学四年职业生涯规划书范文
2014/01/02 职场文书
小学学校评估方案
2014/06/08 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
天那边观后感
2015/06/09 职场文书
董事会决议范本
2015/07/01 职场文书
mysql 排序失效
2022/05/20 MySQL