1
下面的代碼是從Silverlight應用程序,這是在iframe中運行,這是一個在.aspx文件執行:的JavaScript替代爲Chrome,關於window.parent
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中調用代碼時,會崩潰:「無法調用自我」; stacktrace以「在System.Windows.Browser.ScriptObject.InvokeSelf(Object [] args)」開頭「
任何人都可以告訴我如何重寫此代碼以支持Google Chrome嗎?
不要引用我,但我想這樣的作品:'window.frameElement.ownerDocument.parentWindow' – Joe
感謝您的文章;我試過了,但現在代碼失敗,出現「Eval失敗」.... – ebgHendriks
添加 到.aspx文件也沒有幫助 – ebgHendriks