如果用户点击停留在页面上,则重定向的 Javascript 警报
Posted
技术标签:
【中文标题】如果用户点击停留在页面上,则重定向的 Javascript 警报【英文标题】:Javascript alert that redirects if user clicks stay on page 【发布时间】:2013-11-14 21:52:50 【问题描述】:我到处搜索,但找不到我正在寻找的确切解决方案。我需要一个javascript代码,当用户尝试退出页面时,会弹出一个带有“留在页面”或“离开页面”选项的警报框。如果用户留下来,它会将他们重定向到另一个页面,如果他们选择离开,它就会离开。类似于退出飞溅的东西。我知道这是不好的做法,但这是客户想要的。任何帮助将不胜感激。在此先感谢您的帮助。
【问题讨论】:
只能用onbeforeunload
问他们是否想离开...如果每个人都可以重定向你,网络将是一场噩梦
复制:***.com/questions/2663728/…
这只是警告框,如果他们选择留在页面上,我需要重定向。
@user2994045 无法完成。就像我说的,如果每个人都可以,那将是一场噩梦。客户将不得不接受这一点。深入浏览器文档,例如:developer.mozilla.org/en-US/docs/Web/API/Window.onbeforeunload。只能返回字符串,不能回调
【参考方案1】:
这很老套,但可以完成这项工作
var triedToLeave = false;
function onBeforeUnload()
triedToLeave = true;
return "you can put your own message here";
setInterval( function ()
if( triedToLeave )
window.removeEventListener( "beforeunload", onBeforeUnload, false );
document.location.href = "http://***.com/";
, 2000 );
window.addEventListener( "beforeunload", onBeforeUnload, false);
编辑固定功能
【讨论】:
即使不是所有的浏览器都允许你自己的消息 重定向怎么样? 非常感谢。这正是我要找的! 有没有人知道如何在点击内部链接时停止弹出退出?【参考方案2】:这应该会实现您想要的最终结果,尽管从技术上讲,它会在用户做出决定之前将其引导至启动页面。
var notScriptLeaving = true;
window.onbeforeunload = function()
if (notScriptLeaving)
notScriptLeaving = false;
window.location = 'http://www.example.com/'; //Splash page url goes here
return "Are you sure you want to navigate away?";
【讨论】:
以上是关于如果用户点击停留在页面上,则重定向的 Javascript 警报的主要内容,如果未能解决你的问题,请参考以下文章