• 关于页面跳转,登录刷新


    javascript中的location.href有很多种用法,主要如下。

    self.location.href="/url" 当前页面打开URL页面
    location.href="/url" 当前页面打开URL页面
    windows.location.href="/url" 当前页面打开URL页面,前面三个用法相同。
    this.location.href="/url" 当前页面打开URL页面
    parent.location.href="/url" 在父页面打开新页面
    top.location.href="/url" 在顶层页面打开新页面

    如果页面中自定义了frame,那么可将parent self top换为自定义frame的名称,效果是在frame窗口打开url地址

    此外,window.location.href=window.location.href;和 window.location.Reload()和都是刷新当前页面。

    区别在于是否有提交数据。当有提交数据 时,window.location.Reload()会提示是否提 交,window.location.href=window.location.href;则是向指定的url提交数据

    在写ASP.Net程序的时候,我们经常遇到跳转页面的问题,我们经常使用Response.Redirect 做ASP.NET框架页跳转,如果客户要在跳转的时候使用提示,这个就不灵光了,如:

    代码如下:
    Response.Write("< script>alert('恭喜您,注册成功!');< /script>");  
    Response.Redirect("main.html");   

    这时候我们的提示内容没有出来就跳转了,和Response.Redirect("main.html");没有任何区别。

    这时我们采用下面代码试验一下:

    ASP.NET框架页跳转的另一实现,代码如下:

    Response.Write("< script language=javascript>alert('恭喜您,注册成功!')< /script>");  
    Response.Write("< script language=javascript>window.location.href='main.html'< /script>"); 
     

    这个即实现了我们的要求,在提示后,跳转页面。

    最重要的是window.location.href 语句可以实现一个框架的页面在执行服务器端代码后刷新另一个框架的页面(Response.Redirect无法达到,至少我没有发现):

    如:index.htm页面中有二个框架,分别为 frameLeft和frameRight,在frameRight页面中执行服务器端代码后刷新frameLeft中的页面。

    先前最常见的是注册之后,自动刷新登陆框,让登陆框换成已登陆页面,只要在注册成功的代码之后加上一段,即可以实现刷新另个框架的页面。代码如下:

    代码如下:

    Response.Write("< script language=javascript>alert('恭喜您,注册成功!')< /script>");  
    Response.Write("< script language=javascript>window.parent.frameLeft.location.href='main.html'< /script>");   

    这样就搞定了ASP.NET框架页跳转中断的问题。其实asp、php中一般都使用这种方式。

    "window.location.href"、"location.href"是本页面跳转
    "parent.location.href"是上一层页面跳转
    "top.location.href"是最外层的页面跳转

    举例说明:

    如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写

    "window.location.href"、"location.href":D页面跳转
    "parent.location.href":C页面跳转
    "top.location.href":A页面跳转

    如果D页面中有form的话,

    <form>: form提交后D页面跳转
    <form target="_blank">: form提交后弹出新页面
    <form target="_parent">: form提交后C页面跳转
    <form target="_top"> : form提交后A页面跳转
     
    关于页面刷新,D 页面中这样写:

    "parent.location.reload();": C页面刷新 (当然,也可以使用子窗口的 opener 对象来获得父窗口的对象:window.opener.document.location.reload(); )

    "top.location.reload();": A页面刷新

     
  • 相关阅读:
    Auto X2021 K Increasing Sequence
    拉普拉斯平滑处理 Laplace Smoothing
    博学之
    Python-生成音乐-pyshnth
    Python-Kivy ImportError: DLL load failed: 找不到指定的模块
    Python-Word模板填充-docxtpl
    Python-文字转语音-pyttsx3
    Virtual Box中Ubuntu使用"桥接网卡"不能联网而使用"网络地址转换(NAT)"却可以上网
    STM32的HAL库中的DMA_FLAG_TCIF3_7等几个宏定义的含义
    Linux下编写互相通信的驱动模块并将其加入到内核中
  • 原文地址:https://www.cnblogs.com/yaoyao-sun/p/5220844.html
Copyright © 2020-2023  润新知