js中window对象详解以及页面跳转

时间:2023-01-01 21:05:52

1.window.top.window.location = "index.asp";

2.window.top.location.href="index.asp"

3. window.top.location.replace("index.asp");

4. window.navigate("index.asp"); 

5.windows.open() //新窗口JS脚本可以用 windows.parent指向前一个窗体的引用访问前一个窗口的属性和方法;

6. window.history.go(-2);//这个速度最快,从本地缓存中读取。但页面数据可能不是最新

history.go(-1),

history.back().

window.history.forward()

... ... 详细history实现方法参见博文< js页面跳转 和 js打开新窗口方法>【http://blog.csdn.net/Henry_YQH/article/details/8530711】

------------------------------------

先解释前缀属性:

window:每个浏览器窗口及窗口框架都是由window对象表示的;应用程序中每个窗口都会创建一个window对象,为JS创建了一个独立的执行环境,其中包含的重要属性有document

(文档显示结构),location(地址属性),frames[ ](表单数组), history(历史记录), screen, navigator(浏览器属性), top(最外层框架), parent(上一层框架), self, window(自引用属性)

ps: 默认代表的就是他的window属性; 所以应该可以省略掉window关键字,我们的使用中就很少出现window关键字;

location:窗口的location属性是一个Location对象,代表当前显示文档的URL;

locaiton的href属性是一个字符串,包含完整的URL,其他属性protocol, host, pathname和search(?之后的部分)等则分别声明了URL的各个部分;直接取location的值实际取到的就是它的href一样的值,因为它自带了一个toString()方法;

可以把一个URL字符串直接复制给loation对象,作用是引起浏览器装载这个URL页面的内容,但是location对象本身并没有一种方法可以用一个URL替换;但是js1.1之后有两种方法:reload()会从webserver重新装载当前界面;replace()会装载并显示指定的URL;但是为给定URL调用replace和把一个URL赋值给窗口的location不同,当调用replace时,指定的URL会替换浏览器历史中的当前URL,而不是在历史列表中创建一个新条目,如果用浏览器上的back按钮,就可能无法回到原始文档。

PS.个人使用中发现,起码在chrome浏览器中,给location赋值和给location的href赋值,实现是有区别的,给location赋值,浏览器可能会做更多资源释放的动作(具体问题个人博客赘述: http://blog.csdn.net/mrvinc/article/details/9733281)

---------------------------------------

另外还有一些服务器实现方法:

Response.Redirect()
这个的工作原理就是:客户端输入url,向服务器发一次请求,访问到服务器,然后服务器响应返回一个跳转的url到客户端,然后浏览重定向(302),再像服务器发送一次请求,然后服务器根据请求,响应操作。实现这个过程中间访问了两次服务器,访问是有时间的所以这个比较耗时间。
这个后台使用的跳转方法实际上跳转效率稍微低点,因为需要和服务器两次交互才到目的页面。

Server.Transfer()
这个的工作原理就是:客户端输入url,向服务器发一次请求,访问到服务器,然后服务器响看你要访问一个新得url,直接从服务器跳转访问,返回你想要显示的。中间就访问了一次服务器,浏览器的地址不发生改变。

window.showModalDialog()打开子窗口方法;

js中window对象详解以及页面跳转的更多相关文章

  1. 转-JS中document对象详解

    对象属性 document.title //设置文档标题等价于HTML的<title>标签 document.bgColor //设置页面背景色 document.fgColor //设置 ...

  2. JS中window&period;showModalDialog&lpar;&rpar;详解 HTML DOM open&lpar;&rpar; 方法

    window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框. window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框.  ...

  3. JS中document对象详解

    转自:http://www.cnblogs.com/andycai/archive/2010/06/29/1767351.html 对象属性 document.title //设置文档标题等价于HTM ...

  4. JS中navigator对象详解

    <code class="language-html"><!doctype html> <html> <head> <meta ...

  5. js中Date&lpar;&rpar;对象详解

    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...

  6. JS中window&period;showModalDialog&lpar;&rpar;详解

    window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框. window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框.  ...

  7. JS中window&period;showModalDialog&lpar;&rpar;详解(转)

    window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框. window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框.  ...

  8. &lpar;转&rpar;javascript中event对象详解

    原文:http://jiajiale.iteye.com/blog/195906 javascript中event对象详解          博客分类: javaScript JavaScriptCS ...

  9. UWP入门(七)--SplitView详解与页面跳转

    原文:UWP入门(七)--SplitView详解与页面跳转 官方文档,逼着自己用英文看,UWP开发离不开官方文档 1. SplitView 拆分视图控件 拆分视图控件具有一个可展开/可折叠的窗格和一个 ...

随机推荐

  1. NOIP2014 day2 T2 洛谷P2296 寻找道路

    题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点连通. 2 .在满足条 ...

  2. gimp之旅

    随着大学生活的告一段落,新的征途已经开始了.鉴于本人如此喜欢旅游,如此喜欢拍照,如此喜欢处理图片,所以打算在照片处理上下点功夫.总所周知,图像处理软件大牛级的就属windows下的photoshop以 ...

  3. javascript this关键字

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. formData批量上传的多种实现

    前言 最近项目需要批量上传附件,查了下资料,网上很多但看着一脸懵,只贴部分代码,介绍也不详细,这里记录一下自己的采坑与多种实现,以免以后忘记. 这里先介绍下FormData对象,以下内容摘自:http ...

  5. idea debug快捷键 快速查找类

    快速查找类或者文件比如xml .txt Ctrl + Shift + N 快速查找类 双击Shift 选中代码右移 Tab 选中代码左移 Shift + Tab 选中代码上下移 Shift + Alt ...

  6. mysql的ACID的理解

    这是在网上copy下来的ACID的概念,可以直接跳过看后面: 1.原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节.事务执行过程中出错,会回滚到事务开 ...

  7. Python-10行代码实现3个数据可视化

    阅读本文约“1分钟” 最近将Python作为第二编程语言,进行了了解与学习,可以说它的包是很强大的.这次的demo仅仅不到10行代码就可以实现三个数据可视化的小实例. 我们将要使用到matplotli ...

  8. Android 取消标题栏

    有很多种方法. 但一般多个页面的话,大多会在AndroidManifest.xml文件中设置 那么这里你需要注意了. 第一种: 如果style.xml 的 parent   是 <style n ...

  9. STL进阶--成员函数 vs 算法

    容器的成员函数 vs 算法 容器中同名的函数 List: void remove(const T); template<class Comp> void remove_if(Comp); ...

  10. Learn Rails5&period;2 Routes。( 很少用到的参数:constraints和redirect)

    Naming a Route get 'home/index', as: "different_name" 会得到prefix: different_name代替home_inde ...