zoukankan      html  css  js  c++  java
  • javascript 刷新页面 关闭窗口[转]

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

     1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     2<html>
     3<head>
     4    <title>frame </title>
     5</head>
     6<frameset rows="50%,50%">
     7<frame name=top src="top.html">
     8<frame name=bottom src="bottom.html">
     9</frameset>
    10</html>

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

    语句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();

    top.html 页面的代码如下:

     1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     2<html>
     3<head>
     4    <title>top.html </title>
     5</head>
     6<body>
     7    <input type="button" value="刷新1" onclick="window.parent.frames[1].location.reload()"><br>
     8    <input type="button" value="刷新2" onclick="window.parent.frames.bottom.location.reload()"><br>
     9    <input type="button" value="刷新3" onclick="window.parent.frames['bottom'].location.reload()"><br>
    10    <input type="button" value="刷新4" onclick="window.parent.frames.item(1).location.reload()"><br>
    11    <input type="button" value="刷新5" onclick="window.parent.frames.item('bottom').location.reload()"><br>
    12    <input type="button" value="刷新6" onclick="window.parent.bottom.location.reload()"><br>
    13    <input type="button" value="刷新7" onclick="window.parent['bottom'].location.reload()"><br>
    14</body>
    15</html>

    下面是bottom.html页面源代码,为了证明下方页面的确被刷新了,在装载完页面弹出一个对话框。
    bottom.html 页面的代码如下:

     1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
     2<html>
     3<head>
     4    <title>bottom.html </title>
     5</head>
     6<body onload="alert('我被加载了!')">
     7    <h1>
     8        This is the content in bottom.html.</h1>
     9</body>
    10</html>

    解释一下:
    1.window指代的是当前页面,例如对于此例它指的是top.html页面。
    2.parent指的是当前页面的父页面,也就是包含它的框架页面。例如对于此例它指的是framedemo.html。
    3.frames是window对象,是一个数组。代表着该框架内所有子页面。
    4.item是方法。返回数组里面的元素。
    5.如果子页面也是个框架页面,里面还是其它的子页面,那么上面的有些方法可能不行。

    附:
    Javascript刷新页面的几种方法:

    1history.go(0)
    2location.reload()
    3location=location
    4location.assign(location)
    5document.execCommand('Refresh')
    6window.navigate(location)
    7location.replace(location)
    8document.URL=location.href

    自动刷新页面的方法:
    1.页面自动刷新:把如下代码加入<head>区域中

    <meta http-equiv="refresh" content="20">

    其中20指每隔20秒刷新一次页面.

    2.页面自动跳转:把如下代码加入<head>区域中

    <meta http-equiv="refresh" content="20;url=http://www.wyxg.com">

    其中20指隔20秒后跳转到http://www.wyxg.com页面

    3.页面自动刷新js版

    1<script language="JavaScript">
    2function myrefresh()
    3{
    4window.location.reload();
    5}

    6setTimeout('myrefresh()',1000); //指定1秒刷新一次
    7
    </script>

    ASP.NET如何输出刷新父窗口脚本语句

    1this.response.write("<script>opener.location.reload();</script>"); 
    2this.response.write("<script>opener.window.location.href = opener.window.location.href;</script>"); 
    3Response.Write("<script language=javascript>opener.window.navigate(''你要刷新的页.asp'');</script>")
    4

    JS刷新框架的脚本语句

    //如何刷新包含该框架的页面用 
    <script language=JavaScript>
    parent.location.reload();
    </script> 

    //子窗口刷新父窗口
    <script language=JavaScript>
    self.opener.location.reload();
    </script>
    ( 或 
    <href="javascript:opener.location.reload()">刷新</a> )

    //如何刷新另一个框架的页面用 
    <script language=JavaScript>
    parent.另一FrameID.location.reload();
    </script>

    如果想关闭窗口时刷新或者想开窗时刷新的话,在<body>中调用以下语句即可。

    1<body onload="opener.location.reload()"> 开窗时刷新
    2<body onUnload="opener.location.reload()"> 关闭时刷新
    3
    4<script language="javascript">
    5window.opener.document.location.reload()
    6
    </script>

     

  • 相关阅读:
    Oracle SQL语句收集
    SqlParameter In 查询
    SQL 性能优化
    Entity Framework
    【XLL API 函数】 xlfSetName
    【XLL API 函数】xlfUnregister (Form 2)
    【XLL API 函数】xlfUnregister (Form 1)
    【Excel 4.0 函数】REGISTER 的两种形式以及VBA等效语句
    【Excel 4.0 函数】REGISTER
    【Bochs 官方手册翻译】 第一章 Bochs介绍
  • 原文地址:https://www.cnblogs.com/qiangshu/p/1601564.html
Copyright © 2011-2022 走看看