zoukankan      html  css  js  c++  java
  • window.location.href的用法

    在写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框架页跳转中断的问题。

    =====================================================================================

    "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页面刷新

    转自:http://hljqfl.blog.163.com/blog/static/40931580201122210573364/

  • 相关阅读:
    Entity Framework Core 2.0 新特性
    asp.net core部署时自定义监听端口,提高部署的灵活性
    asp.net core使用jexus部署在linux无法正确 获取远程ip的解决办法
    使用xshell连接服务器,数字键盘无法使用解决办法
    使用Jexus 5.8.2在Centos下部署运行Asp.net core
    【DevOps】DevOps成功的八大炫酷工具
    【Network】Calico, Flannel, Weave and Docker Overlay Network 各种网络模型之间的区别
    【Network】UDP 大包怎么发? MTU怎么设置?
    【Network】高性能 UDP 应该怎么做?
    【Network】golang 容器项目 flannel/UDP相关资料
  • 原文地址:https://www.cnblogs.com/zkwarrior/p/4734701.html
Copyright © 2011-2022 走看看