你绝对可以做到,这就是我刚刚在我的一个 Trail Instance 上尝试过的方法。
我根据需要添加了新标签,我称之为“HTML页面”
在此选项卡上我添加了 Webresource,您也可以添加 Iframe 并调用您的外部网页。对于我的简单用例,我在 CRM 中创建了一个简单的 HTML 页面作为 webresource 并将其配置为 Webresource 选项卡,如下所示
HTML 的示例代码。不用担心长 html 文件。主要是bla bla。我们重要的是 <body onload="myFunction()">
然后在
<script>
function myFunction() {
debugger;
alert("Account Id when from fromcontext is ");
alert(parent.Xrm.getformContext().data.entity.getId());
}
</script>
完整的 HTML 代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>My first styled page</title>
</head>
<body onload="myFunction()">
<!-- Site navigation menu -->
<ul class="navbar">
<li><a href="index.html">Home page</a>
<li><a href="musings.html">Musings</a>
<li><a href="town.html">My town</a>
<li><a href="links.html">Links</a>
</ul>
<!-- Main content -->
<h1>My first styled page</h1>
<p>Welcome to my styled page!
<p>It lacks images, but at least it has style.
And it has links, even if they don't go
anywhere…
<p>There should be more here, but I don't know
what yet.
<!-- Sign and date the page, it's only polite! -->
<address>Made 5 April 2004<br>
by myself.</address>
<script>
function myFunction() {
debugger;
alert("Account Id when from fromcontext is ", parent.Xrm.getformContext().data.entity.getId());
}
</script>
</body>
</html>
同样在帐户的表单加载中,我添加了额外的 Javascript。此 javascript 将创建可以从您的网络资源调用的全局变量。附加 Javascript 的文章链接
下面用于 Javascript 的示例代码
formContext=null;
function onload(executionContext){
debugger;
var formContext = executionContext.getFormContext();
Xrm.getformContext = function (){
return formContext;
};
Xrm.getParentAttribute = function (attrName) {
debugger;
return formContext.getAttribute(attrName);
};
Xrm.getParentControl = function (attrName) {
debugger;
return formContext.getControl(attrName);
};
}
最终结果将如下所示
概括:
- 创建 Wberesource/Iframe
- 在加载时创建 Additiona Js
- 在您的网络资源中使用全局变量。