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

Javascript
javascript下拉框不被选中大类的区别方法
firefox浏览器下javascript 拖动层效果与原理分析代码
javascript 常用关键字列表集合
[原创]后缀就扩展名为js的文件是什么文件
初学JS的的小例子 javascript replace高亮替换
项目实践之javascript技巧
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
javascript数组使用调用方法汇总
JS的递增/递减运算符和带操作的赋值运算符的等价式
JavaScript开发时的五个注意事项
js中将多个语句写成一个语句的两种方法小结
javascript while语句和do while语句的区别分析
带参数的function 的自运行效果代码
看了就知道什么是JSON
js模拟实现Array的sort方法
JavaScript创建命名空间(namespace)的最简实现
文本链接逐个出现的js脚本
我见过最全的个人js加解密功能页面
CLASS_CONFUSION JS混淆 全源码
javascript轻松控制表格列样式的脚本代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 250 ::
收藏到网摘: 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";  
    }