javascript в навигации по сайту, чтобы открыть всплывающее окно, только если оно еще не открыто, И работает, если текущий URL-адрес изменяется - PullRequest
0 голосов
/ 13 января 2020

Я просмотрел все, чтобы попытаться выяснить, как настроить этот код, чтобы проверить, открывается ли всплывающее окно уже перед открытием, и не открывать его, если так (просто установите фокус), если URL-адрес не всплывающего окна изменяется. Я не думаю, что это дублирующее сообщение, потому что мне нужно включить его на всем моем сайте. Кажется, что js не сохраняет значение MyPopup при изменении URL.

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

Это кнопка js и кнопка (кнопка находится в навигационной панели, поэтому URL-адрес можно изменить с помощью той же кнопки. используется снова) Я использую для запуска кода:

//opens Stopwatch popup from shortcuts//
var MyPopUp = false;
function stopwatch4(myURL, title, myWidth, myHeight){
  //checks to see if window is open
  if(MyPopUp && !MyPopUp.closed)
  {
    MyPopUp.focus(); //If already Open Set focus
  }
  else
  {
    var left = (screen.width - myWidth) / 2;
    var top = (screen.height - myHeight) / 4;
    MyPopUp = window.open(myURL, title,'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + myWidth + ', height=' + myHeight + ', top=' + top + ', left=' + left);//Open a new PopUp window
  }
}
<button class="shortbtnicon" type="button" style="position:relative;top:8px;" onclick=" stopwatch4('https://example.com/shortcuts/stopwatch', 'MyPopUp', 450, 560);"><span><i class="fa fa-clock-o fa-1x"></i></button>

Я думаю, что использование LocalStorage для переменной будет работать, но я не могу понять, как это сделать. Любая помощь будет очень признательна.

...