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

摘要:
实现这个过程中间访问了两次服务器,访问是有时间的所以这个比较耗时间。这个后台使用的跳转方法实际上跳转效率稍微低点,因为需要和服务器两次交互才到目的页面。Server.Transfer()这个的工作原理就是:客户端输入url,向服务器发一次请求,访问到服务器,然后服务器响看你要访问一个新得url,直接从服务器跳转访问,返回你想要显示的。

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对象详解以及页面跳转》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用Assetbundle时可能遇到的坑TypeError: Property value expected type of string but got null下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

url传值的长度限制解决办法

今天写到两个页面传值,刚开始通过url上加参数进行传值, var strLink = "my.asp?str1=" + str1List + "&str2=" + str2List ;var iHeight = 600; // 高度var iWidth = 1000; // 宽度var iTop = (window.screen.availHei...

JS 事件绑定、事件监听、事件委托详细介绍

在JavaScript的学习中,我们经常会遇到JavaScript的事件机制,例如,事件绑定、事件监听、事件委托(事件代理)等。这些名词是什么意思呢,有什么作用呢? 事件绑定 要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数。所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称。 在JavaScrip...

12.2 pyspider 的基本使用

12.2 pyspider 的基本使用 本节用一个实例来讲解 pyspider 的基本用法。 1. 本节目标 我们要爬取的目标是去哪儿网的旅游攻略,链接为 http://travel.qunar.com/travelbook/list.htm,我们要将所有攻略的作者、标题、出发日期、人均费用、攻略正文等保存下来,存储到 MongoDB 中。 2. 准备工作...

【SSRF】之SSRF的理论知识

(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦) 本文参考https://xz.aliyun.com/t/2115#toc-2,十分感谢! 一、概念 SSRF全称为Server-side Request Fogery,中文含义为服务器端请求伪造,漏洞产生的原因是服务端提供了能够从其他服务器应用获取数据的功能,比如从指定的UR...

JS toFixed 四舍六入五成双

以前一直以为toFixed就是四舍五入的方法,后来又有一段时间以为toFixed是五舍六入。今天终于写的时候,终于才知道toFixed是一个叫做四舍六入无成双的诡异的方法。。。 完全不明白为什么要这么写。。。 什么是四舍六入五成双:百度是这么说的: 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修...

JS字符串拼接优化

//请把以下用于连接字符串的JavaScript代码修改为更高效的方式 var htmlString = ‘ < div class=”container” > ’ + ‘ < ul id=”news-list” >’; for (var i = 0; i < NEWS.length; i++) {   htmlString...