Javascript 刷新父窗口后弹出窗口的处理程序
我有一个Java项目,用Java脚本来管理站点。我有一个打开帮助对话框弹出窗口的功能。当我刷新主页时,一个弹出窗口不会关闭,它仍然打开。我有一个保护,你可以打开两个窗口的帮助,但它的工作与处理程序(helpWnd),在它失去刷新主页 对不起我的英语;)Javascript 刷新父窗口后弹出窗口的处理程序,javascript,window,handler,popupwindow,Javascript,Window,Handler,Popupwindow,我有一个Java项目,用Java脚本来管理站点。我有一个打开帮助对话框弹出窗口的功能。当我刷新主页时,一个弹出窗口不会关闭,它仍然打开。我有一个保护,你可以打开两个窗口的帮助,但它的工作与处理程序(helpWnd),在它失去刷新主页 对不起我的英语;) 在很多情况下,打开窗户被认为是有害的,你可能已经发现了 一个更好的替代方法是将模态对话框与javascript结合使用,它本质上是同一页面中的分层对话框。我不是Dojo专家,但我很快就在Google上找到了文档(http://dojotoolki
在很多情况下,打开窗户被认为是有害的,你可能已经发现了 一个更好的替代方法是将模态对话框与javascript结合使用,它本质上是同一页面中的分层对话框。我不是Dojo专家,但我很快就在Google上找到了文档(http://dojotoolkit.org/reference-guide/1.7/dijit/Dialog.html) 不管怎么说,如果你仍然想打开窗户,如果你能确保它得到关注,你可能会有更好的行为。请看这里:
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;
}
});
}