我在 MS CRM 2011 上遇到 IFrame 问题。我正在尝试生成 HTML 代码并将其写入 IFrame。我对 CRM 开发还很陌生,所以我希望你能指导我找到解决方案。
通过 JavaScript 生成 HTML 内容 (IframeHTML) 后,我尝试将该内容写入 IFrame,然后重新加载整个表单。一切正常,直到我到达最后一个命令
var control = document.getElementById("IFRAME_name");
control.contentWindow.document.open();
control.contentWindow.document.write(IframeHTML);
control.contentWindow.document.close();
control.location.reload(true);
该脚本在表单的 OnLoad 上执行,但它给了我一个警告
访问被拒绝
最后。
如果我将第一行替换为:
var control = Xrm.Page.ui.controls.get("IFRAME_name");
它告诉我
不支持文档。
我不确定我是否认识到这里的问题是什么,所以任何帮助都会很好。
您必须在 IFRAME 属性中激活 Crossframe Scripting。
你做到了吗?
关于 Xrm.Page 调用,您可以使用 来获取 IFRAME
var control = Xrm.Page.ui.controls.get("IFRAME_name").getObject();
这是获取 IFRAME 的受支持方法,因此您应该使用它。