Управление местоположением окна «Подтвердить навигацию» с помощью JavaScript - PullRequest
3 голосов
/ 15 сентября 2010

Часто пользователь злоупотребляет многофункциональным интернет-приложением и пытается использовать кнопку «Назад» браузера. Такие ошибки могут быть разрушительными для измененной, но несохраненной информации, как в приложении Flash или Flex.

Просто предупредить пользователя о подтверждении перед тем, как покинуть страницу (см. Ниже). Тем не менее, у меня есть клиент, который настоятельно желает, чтобы полученное окно «Подтвердить навигацию» появилось на БОКОВОЙ стороне экрана, а не по центру, что по умолчанию в настоящее время происходит во всех основных браузерах.

В рассматриваемом окне говорится о разных вещах в зависимости от вашего браузера, но как я могу повлиять на положение , в котором оно появляется?

Точно так же вы уверены, какое окно я имею в виду:

Если вы используете I.E. текст окна скажет: «Вы уверены, что хотите отойти от этой страницы?» Если вы используете Google Chrome, в заголовке окна будет указано «Подтвердить навигацию».

То есть: нечто похожее на следующий Javascript:

<HTML>
<HEAD>
  <script language="javascript"> 
 function SaveYourWork() {
   return('Please Save Your Work Before Leaving The Page.\n\nAre You Sure?');
 }
    window.onbeforeunload=SaveYourWork;
  </script>
</HEAD>
<BODY>
  <h2>Some R.I.A.</h2>
</BODY>
</HTML>

Как сделать так, чтобы окно подтверждения появлялось в месте, отличном от самого центра окна браузера, например в крайнем левом углу?

Ответы [ 2 ]

4 голосов
/ 15 сентября 2010

Как сделать так, чтобы окно подтверждения всплыло в месте, отличном от самого центра окна браузера, например в крайнем левом углу?

Вы не сможетевлиять на это.Он полностью находится под контролем браузера, как родные диалоги confirm и prompt.

Я также не могу придумать обходного пути, потому что onbeforeupload - это событие, на которое нельзя повлиятьили реплицируется с обычными методами JavaScript.

0 голосов
/ 31 августа 2011

эта строка может сбивать с толку:

return('Please Save Your Work Before Leaving The Page.\n\nAre You Sure?');

Нет такой функции return . И это должно быть:

return 'Please Save Your Work Before Leaving The Page.\n\nAre You Sure?';
...