GVKun编程网logo

关于js中"window.location.href"、"location.href"、"parent.location.href"、"top.location.href"的用法

8

对于关于js中"window.location.href"、"location.href"、"parent.location.href"、"top.location.href"的用法感兴趣的读者,本文

对于关于js中"window.location.href"、"location.href"、"parent.location.href"、"top.location.href"的用法感兴趣的读者,本文将提供您所需要的所有信息,并且为您提供关于chrome 下window.location.href的问题、chrome 浏览器 onunload 方法无法执行 window.location.href、Document.location.href 和 document.location.replace 的区别、Document.location.href和document.location.replace的区别的宝贵知识。

本文目录一览:

关于js中

关于js中"window.location.href"、"location.href"、"parent.location.href"、"top.location.href"的用法

关于js中"window.location.href"、"location.href"、"parent.location.href"、"top.location.href"的用法

"window.location.href"、"location.href"是本页面跳转

"parent.location.href"是上一层页面跳转

"top.location.href"是最外层的页面跳转

举例说明:

如果A,B,C,D都是aspx,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页面刷新

 

chrome 下window.location.href的问题

chrome 下window.location.href的问题

请问一下window.location.href在哪些浏览器的版本下不支持?(我在php里面用js写了一段跳转连接,可是这段跳转连接执行不了)

chrome 浏览器 onunload 方法无法执行 window.location.href

chrome 浏览器 onunload 方法无法执行 window.location.href

记录用户不正常退出,如关闭浏览器的时候,执行 onunload 方法,跳回后台记录用户已经退出的信息,在 ie 上可以正常跳转,但在 Firefox 和 chrome 上却无法跳转。

测试后发现以下方法可以实现,支持 firefox、chrome、ie、360 急速模式:

 

 1 <script type="text/javascript">
 2     window.onbeforeunload = function(){
 3         var res = false;
 4         $(function () {
 5             $.ajax({
 6                 url: ''@url'',
 7                 type: ''post'',
 8                 success: function (data) {
 9                     res = true;
10                 }
11             });
12             return res;
13         });
14     };
15     window.onunload = function(){
16         return window.location.href = ''@url'';
17     };
18 </script>

 


<script type="text/javascript">
window.onbeforeunload = function(){
var res = false;
$(function () {
$.ajax({
url: ''@url'',
type: ''post'',
success: function (data) {
res = true;
}
});
return res;
});
};
window.onunload = function(){
return window.location.href = ''@url'';
};
</script>

问题:
1. 不支持 360 兼容模式
2. 无法区分刷新和关闭,刷新的时候也会直接退出

不知道有没有更好的方法,欢迎留言讨论

done!

Document.location.href 和 document.location.replace 的区别

Document.location.href 和 document.location.replace 的区别

document.location.href 和 document.location.replace 都可以实现从 A 页面切换到 B 页面,但他们的区别是:

用 document.location.href 切换后,可以退回到原页面。

而用 document.location.replace 切换后,不可以通过 “后退” 退回到原页面。

关于 document.location.href 或其他可回退的切换方式,我还发现一个细节,

用个例子来说明:

假设有 A.htm B.htm C.htm 三个页面

A.htm 里有这样一句:document.location.href="b.htm";

b.htm 里有这样一句:document.location.href="c.htm";

注意两个都是可回退的切换。


1: 当从 A 切换到 B 再切换到 C 时,实际内存中保留了三个页面:A、B、C

2: 回退到 B 时,C 页面被清出内存!

3: 再次回退,到 A 页面时,B 页面也被清出内存!

4: 再次向前 (不是用切换而是用向前) 转到 B 页面时,

内存中保留的是 A 和 B

>>> 当一个文档被 location.replace()替换后,它就会从当前的历史对象中移除了

Document.location.href和document.location.replace的区别

Document.location.href和document.location.replace的区别

document.location.href和document.location.replace都可以实现从A页面切换到B页面,但他们的区别是:

用document.location.href切换后,可以退回到原页面。

而用document.location.replace切换后,不可以通过“后退”退回到原页面。

关于document.location.href或其他可回退的切换方式,我还发现一个细节,

用个例子来说明:

假设有A.htm B.htm C.htm三个页面

A.htm里有这样一句:document.location.href="b.htm";

b.htm里有这样一句:document.location.href="c.htm";

注意两个都是可回退的切换。


1:当从A切换到B再切换到C时,实际内存中保留了三个页面:A、B、C

2:回退到B时,C页面被清出内存!

3:再次回退,到A页面时,B页面也被清出内存!

4:再次向前(不是用切换而是用向前)转到B页面时,

内存中保留的是A和B

>>>当一个文档被location.replace()替换后,它就会从当前的历史对象中移除了

关于关于js中"window.location.href"、"location.href"、"parent.location.href"、"top.location.href"的用法的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于chrome 下window.location.href的问题、chrome 浏览器 onunload 方法无法执行 window.location.href、Document.location.href 和 document.location.replace 的区别、Document.location.href和document.location.replace的区别的相关信息,请在本站寻找。

本文标签: