2016-07-02 4 views
0

У меня есть две веб-страницы asp.net с именем Default.aspx и Default2.aspx. Существует одна кнопка ASP на странице Default.aspx. При щелчке по событию кнопки я перенаправляюсь на страницу Default2.aspx. На этой странице есть одна кнопка ввода HTML для закрытия этой страницы Default2.aspx. Я не смог выполнить это в IE, но он не работает в браузерах Google Chrome и Firefox. Вот мой код, чтобы открыть Default2.aspx страницы:window.close() не работает, когда страница открыта Response.Redirect

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Response.Redirect("Default.aspx");  
} 

На Default2.aspx страницы, я обработка OnClick события, чтобы закрыть это окно. Вот мой код спинет за то же самое:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 

<script type="text/javascript"> 
    function Close() { 
     window.close(); 
    }  
</script> 
</head> 
<body> 
<form runat="server"> 
    <input type="button" onclick="Close();" value="Close me"/>  
</form> 
</body> 
</html> 

Я прошел через следующие ссылки и старались каждый и все возможные решения, предложенные в этой связи. Вот они:

Issue with window.close and chrome

window.close() doesn't work - Scripts may close only the windows that were opened by it

Chrome “Scripts may close only the windows that were opened by it” error

window.close and self.close do not close the window in Chrome

Я посмотрел в инструменты развития и обнаружил, есть предупреждение цитировало «Сценарии могут закрыть только окно, были открыты им ». ПРИМЕЧАНИЕ. Это будет работать в Internet Explorer, но не в других браузерах.

Может ли кто-нибудь столкнуться с той же проблемой и найти какое-либо решение? Пожалуйста, помогите мне. Любая помощь будет оценена по достоинству. Thanks

ответ

0

Проблема не имеет ничего общего с Response.Redirect("Default.aspx"). window.close не может закрыть окно, которое не было открыто window.open:

MDN говорит:

Метод

window.close() закрывает текущее окно или окно, на котором он был вызван.

Этот метод только позволила называться для окон, которые были открыты скриптом, используя window.open() метода. Если окно не было , открытое скриптом, в консоли JavaScript появляется следующая ошибка: Консоль: скрипты могут не закрывать окна, которые не были открыты скриптом.

+0

Благодаря @Ismail для вашего ответа. Да, я прочитал его на MSDN. Итак, есть ли способ закрыть Default2.aspx с помощью javascript? Незлое руководство. – Ankit

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