zoukankan      html  css  js  c++  java
  • JS 页面刷新或重载

    一、先来看一个简单的例子:
    下面以三个页面分别命名为frame.html、top.html、bottom.html为例来具体说明如何做。
    frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下:


    复制代码 代码如下:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> frame </TITLE>
    </HEAD>
    <frameset rows="50%,50%">
    <frame name=top src="top.html">
    <frame name=bottom src="bottom.html">
    </frameset>
    </HTML>

    现在假设top.html (即上面的页面) 有七个button来实现对bottom.html (即下面的页面) 的刷新,可以用以下七种语句,哪个好用自己看着办了。
    top.html 页面的代码如下:
    复制代码 代码如下:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> top.html </TITLE>
    </HEAD>
    <BODY>
    <input type=button value="刷新1" onclick="window.parent.frames[1].location.reload()"><br>
    <input type=button value="刷新2" onclick="window.parent.frames.bottom.location.reload()"><br>
    <input type=button value="刷新3" onclick="window.parent.frames['bottom'].location.reload()"><br>
    <input type=button value="刷新4" onclick="window.parent.frames.item(1).location.reload()"><br>
    <input type=button value="刷新5" onclick="window.parent.frames.item('bottom').location.reload()"><br>
    <input type=button value="刷新6" onclick="window.parent.bottom.location.reload()"><br>
    <input type=button value="刷新7" onclick="window.parent['bottom'].location.reload()"><br>
    </BODY>
    </HTML>

    下面是bottom.html页面源代码,为了证明下方页面的确被刷新了,在装载完页面弹出一个对话框。
    复制代码 代码如下:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> bottom.html </TITLE>
    </HEAD>
    <BODY onload="alert('我被加载了!')">
    <h1>This is the content in bottom.html.</h1>
    </BODY>
    </HTML>

    解释一下:
    复制代码 代码如下:
    1.window指代的是当前页面,例如对于此例它指的是top.html页面。
    2.parent指的是当前页面的父页面,也就是包含它的框架页面。例如对于此例它指的是framedemo.html。
    3.frames是window对象,是一个数组。代表着该框架内所有子页面。
    4.item是方法。返回数组里面的元素。
    5.如果子页面也是个框架页面,里面还是其它的子页面,那么上面的有些方法可能不行。
    附:
    JavaScript刷新页面的几种方法:
    1 history.Go(0)
    2 location.reload()
    3 location=location
    4 location.assign(location)
    5 document.execCommand('Refresh')
    6 window.navigate(location)
    7 location.replace(location)
    8 document.URL=location.href

    二、自动刷新页面
    1.页面自动刷新:把如下代码加入<head>区域中
    <meta http-equiv="refresh" content="20">
    其中20指每隔20秒刷新一次页面.
    2.页面自动跳转:把如下代码加入<head>区域中
    <meta http-equiv="refresh" content="20;url=http://www.jb51.NET">
    其中20指隔20秒后跳转到http://www.jb51.net页面
    3.页面自动刷新js版

    <script language="JavaScript">
    function myrefresh()
    {
    window.location.reload();
    }
    setTimeout('myrefresh()',1000); //指定1秒刷新一次
    </script>

    [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
    三、Java在写Servler,Action等程序时,要操作返回页面的话(如谈出了窗口,操作完成以后,关闭当前页面,刷新父页面)
    复制代码 代码如下:
    1 PrintWriter out = response.getWriter();
    2 out.write("<script type="text/javascript">");
    3 ////子窗口刷新父窗口
    4 out.write("self.opener.location.reload();");
    5 //关闭窗口
    6 out.write("window.opener=null;");
    7 out.write("window.close();");
    8 out.write("</script>");

    四、JS刷新框架的脚本语句
    1.如何刷新包含该框架的页面用
    复制代码 代码如下:
    <script language=JavaScript>
    parent.location.reload();
    </script>

    2.子窗口刷新父窗口
    复制代码 代码如下:
    <script language=JavaScript>
    self.opener.location.reload();
    </script>

    3.如何刷新另一个框架的页面用 (上面的实例以说明了)
    复制代码 代码如下:
    语句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();

    4.如果想关闭窗口时刷新或者想开窗时刷新的话,在<body>中调用以下语句即可。
    <body onload="opener.location.reload()">
    开窗时刷新
    <body onUnload="opener.location.reload()">
    关闭时刷新
    复制代码 代码如下:
    <script language="javascript">
    window.opener.document.location.reload()
    </script>

  • 相关阅读:
    SPOJ 694 (后缀数组) Distinct Substrings
    POJ 2774 (后缀数组 最长公共字串) Long Long Message
    POJ 3693 (后缀数组) Maximum repetition substring
    POJ 3261 (后缀数组 二分) Milk Patterns
    UVa 1149 (贪心) Bin Packing
    UVa 12206 (字符串哈希) Stammering Aliens
    UVa 11210 (DFS) Chinese Mahjong
    UVa (BFS) The Monocycle
    UVa 11624 (BFS) Fire!
    HDU 3032 (Nim博弈变形) Nim or not Nim?
  • 原文地址:https://www.cnblogs.com/duex/p/6363843.html
Copyright © 2011-2022 走看看