【问题标题】:ms dynamics crm 2015 web resources html body onload functionms 动态 crm 2015 网页资源 html 正文 onload 功能
【发布时间】:2015-04-17 08:14:19
【问题描述】:

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

<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不允许。我该如何处理这个问题?

【问题讨论】:

  • 您遇到的错误是什么(crm 不允许)?

标签: javascript html dynamics-crm dynamics-crm-2015


【解决方案1】:

这是一个 iFrame/WebResource,如果是,你可能最好传递“new_name”属性的 URL 参数。

根据您的情况,将 JavaScript 移动到 HTML 正文标记的末尾,然后调用您的函数。

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

【讨论】:

    【解决方案2】:

    我认为您可以使用 settimeout 函数调用它,例如

    setTimeout(TweetOnLoad,1000);

    你可以给出平均毫秒值。

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多