2011-04-14 125 views
0
var showPop = true; 
function exitIt(){ 
    if (showPop){ 
    showPop = false; 
    return 'blah blah'; 
    } 
} 

这是一个小退出弹出。如果用户选择“留在页面上”,我需要它重定向到正确的URL。我怎样才能做到这一点?愚蠢的Javascript帮助

+1

你错过了一个右括号'}' – Neal 2011-04-14 19:59:25

+0

在复制粘贴遗憾错过了 - 它在文件中都有..我的坏。 – 2011-04-14 20:35:44

回答

3

只是因为你可以实现某些东西,并不意味着你应该这样做。退出弹出窗口可以说是有史以来最烦人的事情!

+0

特别是当他们问你你是否真的想离开。这就是为什么Chrome可以阻止他们在第二个之后出现的原因;) – Blender 2011-04-14 20:01:11

+0

这不是道德/道德问题,它是关于如何做某事的问题。 – Michael 2011-04-14 20:03:22

+0

是的。这是浏览器需要处理的事情。我似乎记得Chrome有一个正在处理这个问题的错误,但我不确定它有多远 - 显然有一些有用的情况,例如在编辑文本框时离开。我认为共识是自动激发弹出窗口,但不允许JS绑定离开页面。 – 2011-04-14 20:07:48

0
$("a#myleavinglink").click(function() { 
     var answer = confirm("Are you sure you should leave? Its so sweet thougH!"); 
     if (answer) { 
      return true; 
     } else { 
      return false; 
     } 
    } 

如果用户决定离开页面或备份或键入他们自己的地址,您也可以使用jQuery做类似的事情。

顺便说一句,通过返回true从jQuery中的点击函数将允许标准操作,但返回false将覆盖标准功能,并只提供您选择的功能。因此,如果用户想要离开,返回true,否则返回false

$("a").live("click", function() { 
    var id = $(this).attr("id"); 
    if (id == approvedClicks) { 
     return true; 
    } else { 
     return false; 
    } 
}); 

会阻止被点击任何链接被删除,是否在页面加载,或者用JS自动加入。

0

document.location = "http://www.example.com/";

0
if (confirm('Move to another page?')){ 
    window.location = "http://blah.com/"; 
    }