CRM弹出Silverlight应用程序在新的浏览器窗口问题

时间:2013-08-28 05:59:41

标签: javascript silverlight dom dynamics-crm-2011 xrm

我开发了一个从CRM表单启动的silverlight应用程序。表单有一个字段,在字段的OnChange事件中,它调用window.open来打开HTML Web资源:

window.open(serverUrl +“”)...

HTML网络资源包含嵌入silverlight控件的iframe。

silverlight控件有一个“保存数据”按钮,可将数据保存回CRM表单。这一切在我的开发PC上运行良好,但是,在其他PC上,数据不会保存回CRM。

我放了调试消息,Xrm对象为null。在silverlight代码中,我通过以下方式访问Xrm对象:

HtmlPage.Window.Eval(“document.parentWindow.opener.Xrm”)as ScriptObject;

这适用于我的开发PC,但不适用于其他PC,有谁知道为什么会这样?这是权限还是浏览器设置问题?

我还尝试在另一台PC上的IE开发人员工具的脚本窗口中运行“document.parentWindow.opener.Xrm”,同时打开silverlight控件,我可以看到DOM对象好了吗?

此致

杰里

1 个答案:

答案 0 :(得分:0)

似乎我必须直接在Silverlight中获取Xrm对象才能在IE9中工作:

window = HtmlPage.Window.Eval(“document.parentWindow.opener.Xrm”)as ScriptObject;

这在IE9中似乎不起作用,仅适用于IE8:

window = HtmlPage.Window.Eval(“document.parentWindow.opener”)as ScriptObject;

xrmObject = window.GetProperty(“Xrm”)as ScriptObject;