我正面臨着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