ms dynamics crm 2015 web 资源 html body onload 函数
ms dynamics crm 2015 web resources html body onload function
我在我的自定义实体中添加了一个简单的导航 link。此 link 调用网络资源::
<script> function TweetOnLoad(){ var tweetWord = window.parent.Xrm.Page.data.entity.attributes.get("new_name").getValue(); var dynamicUrl ="http://localhost:3000/?tw="+tweetWord ; location.href = dynamicUrl; } </script>
body onload="TweetOnLoad()"
但是有一个问题:我无法在 body 标签上调用 TweetOnLoad
函数,因为 crm 不允许。我该如何处理这个问题?
我想你可以像
这样用 settimeout 函数来调用它
setTimeout(TweetOnLoad,1000);
你可以给出一个平均毫秒值。
您也可以尝试将您的功能绑定到另一个小部件或某事的事件上。
您可能受到通信的跨帧边界的限制。实现这一点的正确方法是使用 Window.postMessage
,在实体的表单和您的自定义 Web 资源(大概是带有 javascript 的 HTML 页面)中有一个脚本,有意地(在定义明确的方式)彼此沟通。
这是 iFrame/WebResource 吗,如果是,您最好传递 "new_name" 属性的 URL 参数。
尽管如此,将 JavaScript 移动到 HTML body 标记的末尾,然后调用您的函数。
function TweetOnLoad(){
var tweetWord = window.parent.Xrm.Page.data.entity.attributes.get("new_name").getValue();
var dynamicUrl ="http://localhost:3000/?tw="+tweetWord;
location.href = dynamicUrl;
}
TweetOnLoad();
我在我的自定义实体中添加了一个简单的导航 link。此 link 调用网络资源::
<script> function TweetOnLoad(){ var tweetWord = window.parent.Xrm.Page.data.entity.attributes.get("new_name").getValue(); var dynamicUrl ="http://localhost:3000/?tw="+tweetWord ; location.href = dynamicUrl; } </script>
body onload="TweetOnLoad()"
但是有一个问题:我无法在 body 标签上调用 TweetOnLoad
函数,因为 crm 不允许。我该如何处理这个问题?
我想你可以像
这样用 settimeout 函数来调用它setTimeout(TweetOnLoad,1000);
你可以给出一个平均毫秒值。
您也可以尝试将您的功能绑定到另一个小部件或某事的事件上。
您可能受到通信的跨帧边界的限制。实现这一点的正确方法是使用 Window.postMessage
,在实体的表单和您的自定义 Web 资源(大概是带有 javascript 的 HTML 页面)中有一个脚本,有意地(在定义明确的方式)彼此沟通。
这是 iFrame/WebResource 吗,如果是,您最好传递 "new_name" 属性的 URL 参数。
尽管如此,将 JavaScript 移动到 HTML body 标记的末尾,然后调用您的函数。
function TweetOnLoad(){
var tweetWord = window.parent.Xrm.Page.data.entity.attributes.get("new_name").getValue();
var dynamicUrl ="http://localhost:3000/?tw="+tweetWord;
location.href = dynamicUrl;
}
TweetOnLoad();