Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取CRM弹出窗口以刷新打开的窗口_Javascript_Asp.net_Dynamics Crm_Dynamics Crm 4 - Fatal编程技术网

Javascript 获取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事件中的按钮。然而,尽管这适用于我们的大多数系统

我正在使用window.open(…)从Intranet页面加载Microsoft CRM 4.0窗口

当窗口关闭时,我需要它以编程方式按下打开它的页面上的按钮。我可以通过获取按钮(其名称在querystring中传递)并在JavaScript中执行其click方法,从我自己的表单中实现这一点

我想我可以尝试用一个包含CRM页面的iframe打开自己的窗口,就像我在我们内部网上使用其他基于web的系统一样。在页面中,我可以单击页面的onunload事件中的按钮。然而,尽管这适用于我们的大多数系统,但使用CRM我遇到两个问题

  • 如果我打开一个窗口,然后简单地关闭它,我会得到一个CRM错误
  • 如果我在CRM窗口中按下Save and Close按钮,它会保存但不会关闭

  • 有解决方案吗?

    这些错误不是由跨站点脚本预防引起的吗?除非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的参考: