我正面临着MS CRM 2011上的IFrame问题。我试图生成HTML代码并将其写入IFrame。我对CRM开发很陌生,所以我希望你能指导我解决问题。MS Crm 2011 JavaScript Iframe功能
通过JavaScript生成HTML内容(IframeHTML)后,我尝试将该内容写入IFrame,然后重新加载整个Form。一切工作正常,直到我达到我的最后一个命令
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");
它告诉我
文件不被支持。
我不确定如果我认识到这里的问题是什么,那么任何帮助都会很好。
是的,你不能使用Xrm.Page来获得IFRAME,所以你有第一块代码看起来不错。我在CRM 2011中使用了非常相似的代码(见下文),它工作正常,所以我假设你的错误是由于其他原因。 var iFrame = document.getElementById(“IFRAME_name”); var doc = iFrame.contentDocument; if(doc == undefined || doc == null){ doc = iFrame.contentWindow.document; } doc.open(); doc.write(IframeHTML); doc.close(); –
实际上,差异可能在control.location.reload(true)行中。出于任何原因你需要这行代码吗? –
你有没有想过这个? – Polshgiant