2012-04-18 2 views
0

У меня есть проект на Java, с Java Script для управления сайтом. У меня появилась функция открытия всплывающего окна диалогового окна справки. Когда я обновляю главную страницу, всплывающее окно не закрывается, и оно все еще открыто. У меня есть защита, что вы можете открыть 2 окна с помощью, но он работает с обработчиком (helpWnd), при этом теряется при обновлении главной страницы.Обработчик для всплывающего окна после обновления родительского окна

Извините за мой английский;)

var helpWnd = null; 
// Open help dialog with url from recived helpId 
function openHelpDialog(helpId, height, width, title) { 
    var url; 
    if(helpId == "contact") { 
     url = "help/contact.html"; 
    } else { 
     var regularExpression = /[a-zA-Z][a-zA-Z][a-zA-Z][0-9][0-9][0-9][0-9]/; 
     if(helpWnd!=null) { 
      helpWnd.close(); 
     } 
     url = "help/index.html?"+helpId.toLowerCase()+".html"; 
     if(!regularExpression.test(helpId)) { 
      url = "help/index.html"; 
     } 
    } 
    helpWnd = window.open(url, title, 'width=1000, height=600, menubar=no, toolbar=no, location=no, scrollbars=yes, resizable=yes, status=no'); 
} 

//this refresh main page 
function changeRole(roleName,redirectUrl) { 
    dojo.xhrPost({ 
     content: { 
      role: roleName 
     }, 
     handleAs: "json", 
     sync: true, 
     url: 'someUrl.npi', 
     load: function (response) { 
      dojo.cookie(response.cookieHash, response.role, {expires : response.cookieExpiryTime}); 
      document.location.href = redirectUrl; 
     } 
    }); 
} 

ответ

0

Открывающиеся окна считаются вредными во многих случаях, так как вы, возможно, обнаружили себя.

Лучшей альтернативой является использование модальных диалогов с javascript, который по существу является многоуровневым диалогом на той же странице. Я не эксперт в Додзё, но я быстро нашел документацию в Google (http://dojotoolkit.org/reference-guide/1.7/dijit/Dialog.html)

В любом случае, если вы все еще хотите открыть окна открытия вы можете улучшить поведение, если будете уверены, что он будет сфокусирован. Посмотрите здесь: http://www.quirksmode.org/js/popup.html

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