Как остановить перенаправление страницы
Мне нужно остановить перенаправление страницы через javascript.
У меня есть script, который перенаправляет страницу в другое место.
Как я могу остановить перенаправление страницы на моей странице через jquery или javascript.
Ответы
Ответ 1
Вы можете остановить перенаправление, выполнив следующие действия.
<script language="JavaScript" type="text/javascript">
//<![CDATA[
window.onbeforeunload = function(){
return 'Are you sure you want to leave?';
};
//]]>
</script>
Не уверен, что все браузеры поддерживают это, но это должно сделать трюк.
Ответ 2
Если я правильно понимаю вас, вам нужно остановить пользователей, перемещающихся далеко от страницы?
Если это так, ответ Маркоса Плэкона является его частью, хотя все, что вам действительно нужно, это:
$("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
Ответ 3
Вы пытаетесь остановить прерыватель iframe? Что-то вроде:
<script language="JavaScript" type="text/javascript">
<!--
function breakout_of_frame()
{
if (top.location != location) {
top.location.href = document.location.href ;
}
}
-->
</script>
Если это так, вы не можете.
Ответ 4
Если он перенаправляется только через ссылки, в jQuery вы можете сделать это:
$(".someClass a").unbind('click');
если он перенаправляет существующую страницу, вам нужно предоставить нам дополнительную информацию о том, какое это перенаправление, поэтому мы можем помочь дальше.
Надеюсь, это поможет вам
Ответ 5
AFAIK это будет невозможно, поскольку перенаправление страниц может происходить разными способами. Он может щелкнуть по привязному тегу, может отправить форму с различным действием, установить window.location на другую страницу при нажатии кнопки и вызвать код сервера для перенаправления.
И вы не сможете обнаружить многие из них.