如何使用javascript在CRM 2013中设置iframe src属性集?

时间:2014-03-13 20:36:00

标签: javascript dynamics-crm-2013

我已按以下方式定义了一个网络资源:

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);
}

我已将名为docmgmt的iframe的网址配置为about:blank。我将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?

1 个答案:

答案 0 :(得分:0)

www.google.com无法正常工作,因为下一个错误:

拒绝展示' https://www.google.com.bo/?gws_rd=cr&ei=XZKQU6_YA6HNsQTkhIKIBA'在一个框架中因为它设置了X-Frame-Options' ' SAMEORIGIN'。更多参考资料here

因此,当起始页面设置为about:blank时,它仍然在 .setSrc 函数之后。 实际上有很多网站不允许将他们的网页用作iFrame。

我使用 http://www.bing.com 编写了相同的代码,但它工作得非常好:)