Javascript 获取CRM弹出窗口以刷新打开的窗口
我正在使用window.open(…)从Intranet页面加载Microsoft CRM 4.0窗口 当窗口关闭时,我需要它以编程方式按下打开它的页面上的按钮。我可以通过获取按钮(其名称在querystring中传递)并在JavaScript中执行其click方法,从我自己的表单中实现这一点 我想我可以尝试用一个包含CRM页面的iframe打开自己的窗口,就像我在我们内部网上使用其他基于web的系统一样。在页面中,我可以单击页面的onunload事件中的按钮。然而,尽管这适用于我们的大多数系统,但使用CRM我遇到两个问题Javascript 获取CRM弹出窗口以刷新打开的窗口,javascript,asp.net,dynamics-crm,dynamics-crm-4,Javascript,Asp.net,Dynamics Crm,Dynamics Crm 4,我正在使用window.open(…)从Intranet页面加载Microsoft CRM 4.0窗口 当窗口关闭时,我需要它以编程方式按下打开它的页面上的按钮。我可以通过获取按钮(其名称在querystring中传递)并在JavaScript中执行其click方法,从我自己的表单中实现这一点 我想我可以尝试用一个包含CRM页面的iframe打开自己的窗口,就像我在我们内部网上使用其他基于web的系统一样。在页面中,我可以单击页面的onunload事件中的按钮。然而,尽管这适用于我们的大多数系统
有解决方案吗?这些错误不是由跨站点脚本预防引起的吗?除非intranet应用程序和CRM位于同一台服务器上,否则在它们之间来回发送数据是非常困难的 很抱歉,如果我不完全理解您想要完成的任务,但我无法完全想象您的描述。也许一个简单的草图/图纸会有所帮助
目前我自己也在与Dynamics CRM合作,我很乐意为您提供帮助,因为我们在使用它时遇到了各种各样的问题,不得不发明许多变通方法。很高兴与大家分享。您可以使用基本的javascript window.opener调用 第1页打开一个CRM窗口。在该CRM窗口的OnSave中,您可以这样调用:
if(window.opener.DoSomeFunction != null)
{
window.opener.DoSomeFunction;
}
其中DoSomeFunction()是第1页中定义的javascript函数。您可以使用PageMethod或_doPostBack()调用。我还没有机会在MS CRM内部尝试这种方法,但理论上这种方法可能会奏效
关于javascript window.opener的参考: