• location.href


    *.location.href 用法:

     top.location.href=”url”          在顶层页面打开url(跳出框架)
     self.location.href=”url”         仅在本页面打开url地址
     parent.location.href=”url”      在父窗口打开Url地址
     this.location.href=”url”       用法和self的用法一致

     实际中可能这样使用

       if(top !== self){

      top.location.href = location.href;

     }   禁止frame引用


       if (top.location == self.location) 判断当前location 是否为顶层来 禁止frame引用
     如果页面当中有自定义的frame的话,也可以将parent  self   top换为自定义frame的名称
       效果就是在自定义frame窗口打开url地址 
     
     javascript frame 刷新
    引用: 
    --------------------------------------------------------------------------------

    简单的事例:
    top.htm 代码
    <script language=javascript>
    function rs(){
    parent.left.location.href="top.htm"
    parent.bot.location.href="top.htm"
    }
    </script>
    <input type=button name=name value="ksdj" onclick=rs();>

    随意文件名的htm文件:
    <FRAMESET COLS="150,*">
    <FRAME SRC="left.htm" name=left>
    <FRAMESET ROWS="150,*">
    <FRAME SRC="top.htm" name=top>
    <FRAME SRC="bot.htm" name=bot>
    </FRAMESET>
    </FRAMESET>
    try~~

    --------------------------------------------------------------------------------

     
    top表示主窗口,location表示当前窗口,如果你的文件只有一个框架,没有iframe和frmaeset,那么是完全一致的,没有区别。


    解释:
    top.htm 代码
    <script language=javascript>
    function rs(){
    parent.left.location.href="top.htm" //partent指的是父页,也就是最外面的框架页,left只得是left.htm,location是left页的一向对象,而href是location对象的一个属性,就是该属性确定了left的url地址。所以这里就把你需要的地址给了这个parent.left。
    parent.bot.location.href="top.htm" //此句意思同上面的大致一样。
    } //函数结束,实现了同时对两个url的更新!
    </script>
    <input type=button name=name value="ksdj" onclick=rs();>

    随意文件名的htm文件:
    <FRAMESET COLS="150,*">
    <FRAME SRC="left.htm" name=left> > //给这个left.htm定义了一个名字叫left
    <FRAMESET ROWS="150,*">
    <FRAME SRC="top.htm" name=top> //给这个top.htm定义了一个名字叫top
    <FRAME SRC="bot.htm" name=bot> //给这个bot.htm定义了一个名字叫bot
    </FRAMESET>
    </FRAMESET>

    window 对象的 location 属性包含了当前页面的地址 (URL) 信息,你可以直接改变此属性值,将其设置成新的地址 (URL):

    window.location = "http://www.sohu.com/";
    or
    location = "http://www.sohu.com/";

    你还可以通过下边的两种方法中的任何一种来使浏览器从服务器上下载 (Load) 页面:

    reload() - 促使浏览器重新下载当前的页面,也就是“刷新”当前页面了。
    replace(URL) - 促使浏览器根据 URL 参数中给出的地址 (URL) 下载页面,同时在当前浏览器存储的历史记录 (即所浏览过的页面的列表) 中使用新的地址(即此方法中的 URL 参数) 覆盖当前的页面。
    使用 replace() 方法意味着用户将不能通过按 “返回” 按钮回到前边浏览过的那个页面,但这并不是说用户完全不能回到原来的所有页面,他们只不过是无法回到被 replace() 方法替换的那一个页面 (注意:只是被替换的那一个页面)。

     framedemo.html,top.html,button.html为例来具体说明如何做

    其中framedemo.html由上下两个页面组成,代码如下:

    <frameset rows="50%,50%"><frame name=top src="top.html"><frame name=button src="button.html"></frameset>

    现在假设top.html即上面的页面有一个button来实现对下面页面的刷新,可以用以下七种语句,哪个好用自己看着办了。

    语句1. window.parent.frames[1].location.reload();

    语句2. window.parent.frames.bottom.location.reload();

    语句3. window.parent.frames["bottom"].location.reload();

    语句4. window.parent.frames.item(1).location.reload();

    语句5. window.parent.frames.item('bottom').location.reload();

    语句6. window.parent.bottom.location.reload();

    语句7. window.parent['bottom'].location.reload();

    解释:

    1.window指代的是当前页面,例如对于此例它指的是top.html页面。

    2.parent指的是当前页面的父页面,也就是包含它的框架页面。例如对于此例它指的是framedemo.html。

    3.frames是window对象,是一个数组。代表着该框架内所有子页面。

    4.item是方法。返回数组里面的元素。

     
    final:
    top.location是在顶层frame中打开新页   
    window.location是在当前frame中打开新页
    parent.location 在当前窗口的父窗口打开Url地址

  • 相关阅读:
    表、栈和队列基础
    学习记录随机算法
    202202linux基础知识点
    js去重的几种方法
    Gjc_02转WGS84坐标系(高精度)
    拖拽地图/点坐标定位(高德地图)
    利用canvas进行的图片压缩
    uniapp学习笔记(创建调试打包各个端口版本)
    uniapp页面栈
    svg路径
  • 原文地址:https://www.cnblogs.com/papajia/p/4505522.html
Copyright © 2020-2023  润新知