Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何停止页面重定向_Javascript_Jquery - Fatal编程技术网

Javascript 如何停止页面重定向

Javascript 如何停止页面重定向,javascript,jquery,Javascript,Jquery,我需要停止所有通过javascript的页面重定向 我有一些脚本,可以将页面重定向到其他位置。 如何通过jquery或javascript停止页面上的所有页面重定向。如果只是通过单击链接进行重定向,在jquery中可以执行以下操作: $(".someClass a").unbind('click'); 如果它是一个现有的页面重定向,您需要给我们提供更多关于这是什么类型的重定向的信息,这样我们可以进一步提供帮助 希望这能帮助您AFAIK这是不可能的,因为页面重定向可以以多种方式发生。他可以单击锚

我需要停止所有通过javascript的页面重定向

我有一些脚本,可以将页面重定向到其他位置。
如何通过jquery或javascript停止页面上的所有页面重定向。

如果只是通过单击链接进行重定向,在jquery中可以执行以下操作:

$(".someClass a").unbind('click');
如果它是一个现有的页面重定向,您需要给我们提供更多关于这是什么类型的重定向的信息,这样我们可以进一步提供帮助


希望这能帮助您

AFAIK这是不可能的,因为页面重定向可以以多种方式发生。他可以单击锚定标记,可以提交具有不同操作的表单,在按钮上将window.location设置为另一个页面,并调用服务器代码进行重定向


您将无法检测到其中的许多内容。

如果我理解正确,您需要阻止用户离开页面吗

如果是这样的话,马可斯·普拉科纳的答案就是其中的一部分——尽管你真正需要的是:

$("a").click(function(e) { e.preventDefault(); });
我猜你也不想让人们按F5?那更难。防止默认按键,跨浏览器是可怕的。但以下是一些在某些浏览器中工作的代码:

function disableF5() {  // IE
    document.onkeydown = function() {
        if (window.event && window.event.keyCode == 116) { // Capture and remap F5
            window.event.keyCode = 505;
        }
        if (window.event && window.event.keyCode == 505) { // New action for F5
        return false; // Must return false or the browser will refresh anyway
        }
    }
}
function disableF5v2() { // FIREFOX
    $(this).keypress(function(e) {
        if (e.keyCode == 116) {
            e.preventDefault();
    return false;
        }
    });
}
但是,跨浏览器问题可以通过以下方式部分解决:

window.onbeforeunload = function(e) {
    var message = "Your confirmation message goes here.", e = e || window.event;
    // For IE and Firefox 
if (e) {
    e.returnValue = message;
}
// For Safari
    return message;
};
希望一切都有帮助。最后一段代码来自本网站的另一个问题。
Rob

您是否正在尝试停止iframe断路器?比如:

<script language="JavaScript" type="text/javascript">
<!--
function breakout_of_frame()
{
  if (top.location != location) {
    top.location.href = document.location.href ;
  }
}
-->
</script>


如果是的话,你不能

您可以通过执行以下操作停止重定向

<script language="JavaScript" type="text/javascript">
    //<![CDATA[
        window.onbeforeunload = function(){
            return 'Are you sure you want to leave?';
        };
    //]]>
</script>

//

不确定是否所有浏览器都支持此功能,但这应该可以做到。

这将假定所有锚都由jQuery绑定。为了确保在jQuery>=1.7中应该使用$(a).unbind('click'),$(a).die(),$(a).removeAttr('onClick'),您应该使用
.off()
而不是
.unbind()
,严肃地说,需要有人否决Rahul的答案。他可能会说“你不能在页面上有文本,句号”。HTML5支持
沙盒
iFrame。“阻止内容浏览其顶级浏览上下文”。它的精巧之处在于它的简单。旁注—这是唯一一种使用
window.location.replace()
window.location.href=“virus”
类型的东西阻止恶意脚本重定向的方法。帮我调试,非常感谢。