Javascript Safari在页面加载时触发两次pop状态

Javascript Safari在页面加载时触发两次pop状态,javascript,Javascript,我想在用户单击浏览器的后退按钮时调用webmethod。这些代码在除Safari 5.1.7之外的所有其他浏览器上都可以正常工作。确认消息应该在用户单击浏览器后退按钮时弹出,但现在在页面加载时弹出。我是否可以使用当前的代码来实现这一点 $(function ($) { if (window.history && window.history.pushState) { window.addEventListener("popstate",

我想在用户单击浏览器的后退按钮时调用webmethod。这些代码在除Safari 5.1.7之外的所有其他浏览器上都可以正常工作。确认消息应该在用户单击浏览器后退按钮时弹出,但现在在页面加载时弹出。我是否可以使用当前的代码来实现这一点

  $(function ($) {
        if (window.history && window.history.pushState) {
            window.addEventListener("popstate", function (event) {
                var hashLocation = location.hash;
                var hashSplit = hashLocation.split("#!/");
                var hashName = hashSplit[1];
                if (hashName !== '') {
                    var hash = window.location.hash;
                    if (hash === '') {                    
                            var agree = confirm("Are you sure you want to leave?");
                            if (agree) {
                                'do something
                            } else {
                                'do something
                            }
                        }       
                }
            });
            window.history.pushState('forward', null, './Payment.aspx');
        }