我开发了一个从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对象好了吗?
此致
杰里
答案 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;