JavaScript - showModalDialog не возвращает значение в Chrome
Я сделал небольшое всплывающее окно календаря в Javascript. Очень просто, используя элемент управления Calendar из ASP.NET. Я вызываю всплывающее окно с showModalDialog. В модальном окне изменение текущего месяца календаря вызывает проблемы из-за обратной передачи, и я нашел в нескольких местах, что решение должно поставить:
<code><base target="_self"/> </code>
в головной части файла aspx. Все отлично работает ... кроме одной вещи, и только в Google Chrome. Чтобы вернуть выбранную дату, я установил returnValue всплывающего окна на дату, выбранную в календаре. В IE и Firefox это всегда работает. Однако в Chrome это работает, только если я не изменяю текущий месяц в календаре. Как только я изменяю его, возвращаемое значение не передается вызывающей стороне showModalDialog. Как будто модальное окно больше не является оригинальным; возвращаемое значение не определено.
Кто-нибудь сталкивался с таким поведением и есть предложение заставить его работать? Я попытался использовать dialogArguments, чтобы отслеживать трассировку окна вызывающего, но оно передается только в первое модальное окно (оно теряется после изменения текущего месяца).
Код в вызывающей процедуре:
<code>var d = window.showModalDialog(...) </code>
Код в модальном окне:
<code>window.returnValue = selectedDate; self.close(); </code>
Как я сказал Teemu, selectedDate и window.returnValue всегда верны. Однако в случае Google Chrome (после месячного изменения в календаре) returnValue не передается обратно showModalDialog, и d не определено.