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