当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript入门教程(8):Location地址对象

Javascript
jquery ajax提交表单数据的两种方式
js数字输入框(包括最大值最小值限制和四舍五入)
文本框的字数限制功能jquery插件
JavaScript让IE浏览器event对象符合W3C DOM标准
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
js版扫雷实现代码 原理不错
鼠标跟随的文字变动效果
JS 判断undefined的实现代码
Ext grid 添加右击菜单
javascript或asp实现的判断身份证号码是否正确两种验证方法
javascript 获取元素位置的快速方法 getBoundingClientRect()
javascript 面向对象继承
JavaScript 地震特效
jquery.ui.progressbar 中文文档
JS 拖动效果实现代码 比较简单
JS小框架 fly javascript framework
JS在IE和FF下attachEvent,addEventListener学习笔记
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
js 动态选中下拉框

Javascript 中的 JavaScript入门教程(8):Location地址对象


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 145 ::
收藏到网摘: n/a

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.ruanchen.com/'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";  
    }