2014-03-13 87 views
1

我已經定義了網絡資源,如下所示:如何使用javascript在CRM 2013中設置iframe src屬性設置?

function setIframe_OnLoad() { 
    var iFrame = Xrm.Page.ui.controls.get('IFRAME_docmgmt'); 
    var url = iFrame.getSrc(); 
    if (url.indexOf("blank") != -1) { 
     setiFrameUrl(); 
    } 
} 

function setiFrameUrl() { 
    debugger; 
    var url = 'http://www.google.com'; 
    Xrm.Page.getControl('IFRAME_docmgmt').setSrc(url); 
} 

而且我已經配置了一個名爲docmgmtabout:blank一個iframe的網址。我將iframe的OnReadyStateComplete事件連接到setIframe_OnLoad函數。當我加載我的CRM 2013表單時,調試器行被擊中,我可以通過並看到Xrm.Page.ui.controls.get('IFRAME_docmgmt').getSrc()的值確實更改爲http://www.google.com。當功能完成時,頁面重新加載。我不知道爲什麼。重新加載時,iframe再次設置爲about:blank。有沒有人有一個工作代碼示例用於在Dynamics CRM 2013中使用JavaScript以編程方式設置iFrame URL?

+0

這是所有的URL相同的代碼?你有沒有嘗試https以避免混合模式? –

+0

好點。它實際上沒有混合,都是http –

回答

0

www.google.com不會工作,因爲下一個錯誤:

拒絕在一個框架中顯示「https://www.google.com.bo/?gws_rd=cr&ei=XZKQU6_YA6HNsQTkhIKIBA」,因爲它設置「X框-選項」到「SAMEORIGIN」。更多參考文獻here

因此,當起始頁面設置爲about:空白時,在.setSrc函數後仍然保留。 其實有很多網站不允許使用他們的網頁作爲iFrames。

我寫了你,但使用http://www.bing.com和它工作相當優良:)