2014-03-13 49 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和它工作相当优良:)