Chrome的JavaScript替代方案,关于window.parent

Chrome的JavaScript替代方案,关于window.parent,javascript,silverlight,google-chrome,Javascript,Silverlight,Google Chrome,以下代码从Silverlight应用程序执行,该应用程序在.aspx文件中的iframe中运行: private void PostMessage<T>(Message<T> message) { HtmlWindow window = HtmlPage.Window; ScriptObject postMessage = window.Eval("window.parent.postMessage") as ScriptO

以下代码从Silverlight应用程序执行,该应用程序在.aspx文件中的iframe中运行:

    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);
        }
    }
private void PostMessage(消息消息)
{
HtmlWindow window=HtmlPage.window;
ScriptObject postMessage=window.Eval(“window.parent.postMessage”)作为ScriptObject;
if(postMessage!=null)
{
字符串jsonMessage=ToJsonString(消息);
字符串[]args={jsonMessage,“*”};
postMessage.InvokeSelf(args);
}
}
这在IE中运行良好,但在Google Chrome中不起作用。这与window.parent引用有关,Chrome返回undefined。 当在Chrome中调用代码时,它将崩溃:“调用self失败”; 堆栈跟踪以“at System.Windows.Browser.ScriptObject.InvokeSelf(Object[]args)”开头

有人能告诉我如何重写此代码以支持Google Chrome吗?

这应该可以:

window.frameElement.ownerDocument.parentWindow 

不要引用我的话,但我认为这是可行的:
window.frameElement.ownerDocument.parentWindow
谢谢你的帖子;我已经试过了,但是现在代码失败了,出现了一个“Eval failed”…添加var postMessage=window.parent.postMessage;到.aspx文件也没有帮助