我正在使用window.open(...)从Intranet页面加载Microsoft CRM 4.0窗口。
当窗口关闭时,我需要它以编程方式按下打开它的页面上的按钮。我可以通过获取按钮(其名称在查询字符串中传递)并在JavaScript中执行其click方法,从我自己的表单中执行此操作。
我想我可以尝试使用包含CRM页面的iframe打开我自己的窗口,就像在Intranet上使用其他基于Web的系统一样。然后,在页面中,我可以单击页面onunload事件中的按钮。然而,尽管这适用于我们的大多数系统,但使用CRM我会遇到两个问题。
有解决方法吗?
答案 0 :(得分:1)
你可以做一些像使用基本的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的参考:
答案 1 :(得分:0)
不是跨站点脚本预防导致的错误吗?除非Intranet应用程序和CRM驻留在同一台服务器上,否则在它们之间来回发送数据非常困难。
很抱歉,如果我不完全了解您想要完成的任务,但我无法完全看清您的描述。也许一个简单的草图/绘图会有帮助吗?
我现在正在与Dynamics CRM合作,我很乐意提供帮助,因为我们遇到了各种各样的问题,并且不得不发明许多变通方法。很高兴分享。