Javascript刷新页面的几种方法(页面刷新与弹出窗口问题解决方法) 您所在的位置:网站首页 网页怎样刷新窗口设置 Javascript刷新页面的几种方法(页面刷新与弹出窗口问题解决方法)

Javascript刷新页面的几种方法(页面刷新与弹出窗口问题解决方法)

2024-07-03 21:59| 来源: 网络整理| 查看: 265

window.location.reload(); 使用window.open()弹出的弹出窗口,刷新父窗口 非模态刷新父页面 :window.opener.location.reload() 使用window.showDialog弹出的模式窗口 模态刷新父页面   :window.dialogArguments.location.reload();

 

先来看一个简单的例子:    下面以三个页面分别命名为frame.html、top.html、bottom.html为例来具体说明如何做。       frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下:             frame                         现在假设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 页面的代码如下:                   top.html                                     下面是bottom.html页面源代码,为了证明下方页面的确被刷新了,在装载完页面弹出一个对话框。       bottom.html 页面的代码如下:             bottom.html          This is the content in bottom.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.页面自动刷新:把如下代码加入区域中       其中20指每隔20秒刷新一次页面.       2.页面自动跳转:把如下代码加入区域中       其中20指隔20秒后跳转到http://www.wyxg.com页面       3.页面自动刷新js版       function myrefresh()    {    window.location.reload();    }    setTimeout('myrefresh()',1000); //指定1秒刷新一次          ASP.NET如何输出刷新父窗口脚本语句    1. this.response.write("opener.location.reload();");       2. this.response.write("opener.window.location.href = opener.window.location.href;");       3. Response.Write("opener.window.navigate(''你要刷新的页.asp'');")          JS刷新框架的脚本语句       //如何刷新包含该框架的页面用       parent.location.reload();             //子窗口刷新父窗口       self.opener.location.reload();       ( 或 刷新 )       //如何刷新另一个框架的页面用       parent.另一FrameID.location.reload();          如果想关闭窗口时刷新或者想开窗时刷新的话,在中调用以下语句即可。       开窗时刷新    关闭时刷新          window.opener.document.location.reload()   

 

 

页面刷新弹出重试问题解决方法

如果刷新一个已经提交过的页面时,系统总是会提示一个 "重试或取消”的对话框.,如果是一个普通的页面,好象也无所谓,有就有,大不了多点一下.但是当我们是在子窗体中刷新父窗体时,就显得有点多余了.所以就想把这个对话框给去了.找了很的办法.总结一下.

    一, window.opener.location.reload() 如果改页面没提交过,这个方法好使.但是这个页面一旦提交过后,系统就会提示"重试或取消”的对话框.

    二, window.opener.location = window.opener.location;这个方法肯定不提示,但是有个问题就是分页显示的时候,一刷新总是会显示第一页,这个也是理所当然,因为默认请求的就是第一页

    三, window.opener.form1.submit();这个方法也不提示了,这个方法就是自动提交页面,绕开那个烦人提示的界面,但是如果被刷新的页面用到了比如gridwiew控件之类的,里面的数据可能不会随着刷新而发生变化,原因就是gridwiew的数据绑定是在某个控件的事件中进行,而页面是通过submit()提交的,不会触发该控件的事件.gridwiew中的数据也是通过读取viewstat中内容获得的,所以在刷新过程中数据不会发生变化.

    四, window.opener.__doPostBack(" Control","");其中 Control 是控件ID,这个方法就是克服了三的缺点,不用.opener.form1.submit()这样直接提交.不仅让页面自动提交,而且还要想办法让控件的事件也执行.

   注意第四种方法也不是完美的,有的页面是没有这样的控件,有的页面有这个控件但也不能触发数据绑定事件.比如页面数据是随下框内容发生变化的那种页面.因为页面数据是否重新绑定取决于下拉框中内容是否发生变化.而打开子窗体前后时下拉框内容肯定没有变化,所以页面内容也不会变化.      

    五,针对四,我们可以在父页面用点小技巧,比如在Page_Load中绑定数据时不加IsPostBack判断,但是不好就不好在点按钮时同样的数据会绑定两遍.

 

如果页面没有form,则不会弹出提示窗口。如果页面有form表单, a)< form method="post" ...> 会弹出提示窗口 b)< form method="get" ...> 不会弹出           六, 在触发事件的控件外围加 UpdatePanel 控件, 后台事件中用  ScriptManager.RegisterStartupScript(UpdatePanel1, GetType(), "", "window.open('" + urll + "');", true);  


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有