在IE中卸载之前获取URL

时间:2010-09-21 09:55:24

标签: internet-explorer url onbeforeunload

我可以在页面卸载之前获取更新的URL。

我想检查这个URL是否仍然是用户在刷新期间使用的URL。我想在用户更改到另一个页面之前做一些事情。

用例:

[正常] 浏览器地址栏:www.mypage.com/page1.html 用户点击重新加载 没有弹出通知显示 页面重新加载

[异常] 浏览器地址栏:www.mypage.com/page1.html 用户修改地址栏:www.anotherpage.com 加载www.anotherpage.com之前显示POP UP通知

我想知道在页面卸载之前如何获取地址栏的当前值 我尝试了这段代码:

var currPage;
window.onload = function(){
    currPage = document.location.href;
}
window.onbeforeunload = function (e){
    var nextLocation = document.location.href; // I assumed this value will update always. but NOT! :((
    if( currPage != nextLocation )
    {
        alert("You're leaving now??!");
    }
}

请帮帮我。

1 个答案:

答案 0 :(得分:1)

document.location.href始终提供运行脚本的页面的URL。它没有改变。

您无法获取用户导航到的网页的网址。您可以在所有外发链接上放置click处理程序以捕获这些情况,但出于隐私原因,您当然无法读取用户在地址栏中输入的地址。