我有一个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 :(得分:0)
在许多场合打开窗户被视为有害,因为您可能已经发现了自己。
更好的选择是使用带有javascript的模态对话框,这实际上是同一页面中的分层对话框。我不是Dojo专家,但我很快就找到了Google的文档(http://dojotoolkit.org/reference-guide/1.7/dijit/Dialog.html)
无论如何,如果你仍然想要打开窗户,如果你确保它集中注意力,你可能会获得更好的行为。看看这里:http://www.quirksmode.org/js/popup.html