CRM 2016 – HTML Webresource – CustomScriptsFrame

Hallo Leute,

wie Ihr sicher mitbekommen habt, hat sich ja durch die Einführung der Turbo Forms im DOM Modell vieles getan (CRM 2015 Update 1).

Die folgenden Grafiken beschreiben die Umstellung des DOM Modells besser als viele Worte:

Damit einhergehend ändert sich auch der Zugriff auf Bibliotheken, welche auf dem Formular hinzugefügt/geladen werden, da sich ja diese Bibliotheken in das sog. „CustomScriptsFrame“ verlagern.
Achtung: Microsoft rät dazu, nicht direkt aus z.B. HTML WebResourcen auf diese Bibliotheken über das DOM zuzugreifen. Es wird empfohlen diese Bibliotheken direkt in der HTML WebResources referenzieren.

Das klingt in der Theorie natürlich schön und sollte auch so umgesetzt werden, in der Praxis gibt es jedoch auch alte Bibliotheken, die man nicht ohne weiteres umbauen kann oder darf.

Als weiteres Hindernis kommt dazu, dass die diversen Browser das DOM Modell anders aufbauen. Gibt es in Internet Explorer z.B. „contentIframe0“ und „contentIframe1“ (hier befindet sich das CustomScriptsFrame), gibt es z.B. in Chrome nur das „contentIframe0“ (hier befindet sich das CustomScriptsFrame).

Die Lösung ist relativ simple:

$(parent.document).find("iframe#customScriptsFrame")[0].contentWindow;

Aber achtet darauf: In Zukunft direkt einbinden und dieses Snippet nur im Notfall verwenden.

Beste Grüße
Chris

Leave a reply