2014-01-24 3 views
1

(Отказ от ответственности) Я прочитал темы, которые не могут быть выполнены, и это может быть сделано, поэтому я могу назвать пустую погоду. Эти потоки также были несколько старыми, поэтому я снова спрашиваю, не найден ли ответ другой аудиторией. Если я раздражу кого-то, снова задав этот вопрос, я действительно извиняюсь. Это никогда не было моим намерением.Закрыть вкладку firefox с Javascript

У меня есть веб-сайт, который отправляет вам электронное письмо, чтобы подтвердить вашу информацию. Когда вы щелкаете по ссылке в письме, открывается новая вкладка с формой, заполненной вашей информацией, и некоторыми флажками, чтобы согласиться или не согласиться с условиями. После того, как вы проверите все требования, в нижней части есть кнопка, которая говорит, что согласна. Прямо сейчас, если вы щелкнете по нему, он отправит страницу, сбрасывает поля, на которые вы нажали, и я думаю, что это немного запутывает конечного пользователя.

Я хотел был закрыть страницу для них, как только они нажмут кнопку «Согласен». поэтому теперь у меня появилось диалоговое окно jQuery, спрашивающее, хотят ли они остаться или покинуть страницу. если они нажмут на страницу, она закроет их. Это работает в IE (удивительно), Chrome, Safari и Opera. Firefox - это еще одна история.

Может кто-нибудь, пожалуйста, помогите мне или скажите, можно ли это сделать в Firefox? Это был мой референт. http://www.yournewdesigner.com/css-experiments/javascript-window-close-firefox.html

А вот код у меня есть:

$(document).ready(function() { 
    $("##agree").dialog({ 
    autoOpen: false, 
    resizable: false, 
    height:230, 
    width:400, 
    modal: true, 
    buttons: { 
     "Leave this page": function() { 
     $("##VerificationForm").submit();//nothing to do with closing tab 
     open(location, '_parent','').close(); 
     $(this).dialog("close"); 
     }, 
     Cancel: function() { 
     $(this).dialog("close"); 
     } 
    } 
    }); 

    $("##agreebtn").click(
    function checkAndSubmit(action) { 
     if(validateForm()&&validateAgreement(action)) {//nothing to do with closing tab 
     $("##agree").dialog('open'); 
     return false; 
     } 
    } 
); 
}); 

ответ

1

нити, заявляющие, что это может быть сделано, были правы в одном месте, но они не являются в настоящее время. FireFox исправил этот эксплоит. Вы не можете закрыть вкладку или окно в FireFox, чтобы ваш сценарий не открывался в первую очередь.

Вы можете войти в свой FireFox: config и изменить значения по своему вкусу, но по соображениям безопасности по умолчанию используется значение «false».

Смежные вопросы