对于关于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中"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中"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的问题
请问一下window.location.href在哪些浏览器的版本下不支持?(我在php里面用js写了一段跳转连接,可是这段跳转连接执行不了)
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 都可以实现从 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都可以实现从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的区别的相关信息,请在本站寻找。
本文标签: