2014-01-22 2 views
3

Я работаю в CRM 2013. Требование бизнеса состояло в том, чтобы добавить приборную панель в качестве подрайона к карте сайта. Я добавил суб-область с веб-ресурсом html, добавленным для размещения соответствующей панели в IFrame.CRM 2013 Непреднамеренные вложенные фреймы

Проблема возникает, когда я пытаюсь открыть одну запись активности в подсетевой IFrame. IFrame создает другой IFrame внутри себя (гнездо Iframes). Ниже мой HTML и скриншот проблемы.

<html> 
    <head> 
<meta charset="utf-8"> 
    </head> 
    <body> 
    <iframe name="dashboardIframe" title="Content Area" id="dashboardIframe" src="about:blank" style="border: 0px currentColor; left: 0px; width: 100%; height: 100%; right: 0px; overflow: hidden; visibility: visible;"></iframe> 
<script type="text/javascript"> 
    var openMyActivities = function() { 
    var serverUrl = document.domain; 
    var dashboardUrl = "https://" + serverUrl + "/dashboards/dashboard.aspx?dashboardId=%7b88dada11-007f-e311-940b-005056b72da0%7d&dashboardType=1030&pagemode=iframe"; 
    document.getElementById("dashboardIframe").src = dashboardUrl; 
}; 
    window.onload = setTimeout(openMyActivities, 10); 
</script> 
</body> 
</html> 

Я хотел отправить картину вложенной вопроса IFrame, а потому, что я новичок в содействии StackOverflow, так что я не хватает репутации сделать это.

+0

Не можете ли вы использовать 'parent.document' вместо' document'? Это должно относиться не к самому IFrame, а к документу, содержащему его. – shytikov

ответ

0

Как он создает вложенные IFrames,
единственный способ забрать цель iframe с идентификатором dashboardIframe выглядит следующим образом.

var mainFrame = window.top.document.getElementById('contentIFrame0').contentDocument.frames["dashboardFrame"]; 

var targetIframe = mainFrame.document.frames["dashboardIframe"]; 

Где contentIFrame0 создается по умолчанию в CRM, когда мы вставляем компонент IFRAME в области приборной панели.