2

我在我的自定义实体中添加了一个简单的导航链接。此链接调用网络资源::

<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()"

但是有一个问题:我不能调用TweetOnLoadbody标签上的函数,因为crm不允许。我该如何处理这个问题?

4

3 回答 3

0

我想你可以用 settimeout 函数来调用它,比如

设置超时(TweetOnLoad,1000);

你可以给出一个平均毫秒值。

您也可以尝试将您的函数绑定到另一个小部件或某事的事件上。

于 2015-04-17T08:48:38.137 回答
0

您可能受到通信的跨框架边界的限制。实现这一点的正确方法是使用Window.postMessage,在实体的表单和您的自定义 web 资源(可能是带有 javascript 的 HTML 页面)中都有一个脚本,可以有意地(以明确定义的方式)相互通信。

于 2015-04-20T20:42:13.460 回答
0

这是一个 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();
于 2015-04-21T04:37:23.247 回答