javascript - showModalDialog não retorna valor no Chrome

Eu fiz um pequeno popup de calendário em Javascript. Muito simples, usando o controle Calendar do ASP.NET. Eu chamo a janela pop-up com showModalDialog. Na janela modal, alterar o mês atual do calendário causa problemas por causa do postback, e eu encontrei em vários lugares que a solução é colocar:

<code><base target="_self"/>
</code>

na parte principal do arquivo aspx. Tudo funciona muito bem ... exceto por uma coisa e apenas no Google Chrome. Para recuperar a data selecionada, defino o valor de retorno do pop-up para a data selecionada no calendário. No IE e no Firefox, sempre funciona. No Chrome, no entanto, só funciona se eu não alterar o mês atual no calendário. Assim que altero, o valor de retorno não é passado de volta para o chamador de showModalDialog. É como se a janela modal não fosse mais a original; o valor de retorno é indefinido.

Alguém já experimentou esse comportamento e tem uma sugestão para fazê-lo funcionar? Eu tentei usar dialogArguments para manter o rastreamento da janela do chamador, mas ele é passado apenas para a primeira janela modal (ele é perdido após a alteração do mês atual).

O código no procedimento de chamada:

<code>var d = window.showModalDialog(...)
</code>

O código na janela modal:

<code>window.returnValue = selectedDate; 
self.close();
</code>

Como eu disse a Teemu, selectedDate e window.returnValue estão sempre corretos. No entanto, no caso do Google Chrome (após uma alteração de mês no calendário), returnValue não é devolvido por showModalDialog e d é indefinido.

questionAnswers(2)

yourAnswerToTheQuestion