Следующий код выполняется из приложения Silverlight, которое выполняется в iframe, который находится в файле .aspx:
private void PostMessage<T>(Message<T> message)
{
HtmlWindow window = HtmlPage.Window;
ScriptObject postMessage = window.Eval("window.parent.postMessage") as ScriptObject;
if (postMessage != null)
{
string jsonMessage = ToJsonString(message);
string[] args = { jsonMessage, "*" };
postMessage.InvokeSelf(args);
}
}
Это прекрасно работает в IE, но не в Google Chrome. Это связано со ссылкой на window.parent, Chrome возвращает undefined.
Когда код вызывается в Chrome, происходит сбой: «Не удалось вызвать себя»;
трассировка стека начинается с "at System.Windows.Browser.ScriptObject.InvokeSelf (Object [] args)"
Может кто-нибудь сказать мне, как переписать этот код для поддержки Google Chrome тоже?