В настоящее время я использую Javascript с Ajax для получения некоторых данных и представления их в новом окне. Я пытаюсь закрыть окно в OpenFileWindow () до открытия нового, но пока оно находит объект окна, все свойства и методы выдают ошибку отказа в разрешении.
Я полагаю, что это связано с областью видимости при вызове Ajax, так как при открытии окна перед XMLHttpRequest проблем не возникает.
Я не уверен, как поступить, и я немного искал. У кого-нибудь есть предложения? Спасибо.
Открыто
var newWin = null;
function View_onClick(propId, url) {
var param = "propId=" + propId;
param += "&filename=" + url;
var xhr = new XMLHttpRequest();
xhr.open("POST", "GetActivityFileName.ashx", false);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if (xhr.responseText == "") {
alert("Sorry unable to find file.");
return false;
}
else {
OpenFileWindow(xhr.responseText)
return false;
}
}
}
}
xhr.send(param);
return false;
}
function OpenFileWindow(fileUrl) {
if(newWin != null)
newWin.close();
newWin = window.open(fileUrl);
newWin.focus();
}