繁体   English   中英

如何将 HTML webresource 中的值传递给 window 上的 javascript 关闭 MSCRM

[英]How to pass values from HTML webresource to javascript on window close MSCRM

I am opening HTML webresource using Xrm.Navigation.openWebResource but on closing of HTML window I want to pass values from HTML to javascript file from where it is opened. 有没有回调function可以实现?

If I open HTML window using window.open I can call parent javascript function using window.opener.functionname on close but click but I want to know how I can pass values to parent javascript file on close button click of HTML window.

我尝试使用window.parent.opener.Functionname()但它不起作用 - 获取functionname is undefined但它在父 javascript 中定义。 请建议。

如果您使用启用了 turboforms 的“旧”(因为它不是统一的界面)用户界面,那么父级 javascript 实际上位于名为 customScriptFrame 的额外 iframe 中,而不是父级本身。

要调用父母的东西,你可以使用

parent.customScriptsFrame.functionname() for IE

parent.customScriptsFrame.contentWindow.functionname() on chrome.

在统一界面上它几乎相同,但要麻烦得多。 现在脚本位于名为 ClientApiFrame_[n] 的 iframe 中,其中 [n] 是某个随机数。 而且我还没有找到一种从网络资源中提前确定该数字的好方法。 您可以 go 在 javascript (parent.frames) 中的父级的所有帧上找到一个 ID 以 ClientApiFrame_ 开头的帧,但这会在尝试读取源设置为外部域的帧时抛出错误,我认为这不是很好实践。

另一种可能性是注册您想提前与父母通话的 function。 所以在主要的 javascript 中使用这个。

parent.functionname = functionname

然后从 webResource 你可以使用正常的

parent.functionname

如果 webresource 嵌入在表单中,则使用window.parent

如果你Xrm.Navigation.openWebResource来打开它,那么使用window.opener

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM