首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自postMessage的iFrame不再适用于2016年的客户关系管理系统

来自postMessage的iFrame不再适用于2016年的客户关系管理系统
EN

Stack Overflow用户
提问于 2016-06-24 18:54:24
回答 1查看 1.6K关注 0票数 4

我已经使用postMessage从iFrame到客户关系管理进行了一段时间的通信。它在2011年客户关系管理和2015年客户关系管理中发挥了作用,但在2016年客户关系管理中不再起作用。

iFrame javascript代码:

代码语言:javascript
复制
    var pass_data = {
        'refresh': 'false',
        'expand': 'true'
    };        
    window.parent.postMessage(JSON.stringify(pass_data), 'crm url');

CRM javascript:

代码语言:javascript
复制
function setListener() {

  if (window.XMLHttpRequest) {
    //for browsers other than ie
    window.addEventListener("message", receivePostMessage, false);

  } else {
    //ie
    window.attachEvent('onmessage',receivePostMessage);

  }
} 

function receivePostMessage(event) {
   //do something with event.data
   var pass_data = JSON.parse(event.data);
   alert(pass_data);
  }

setListener()在页面加载时被调用,我已经确认它正在被调用。我试过使用"*“作为目标源,但它仍然不起作用。

有没有人知道在2016年CRM中,这是否仍然是一个可行的选择?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-24 19:39:28

CRM对象模型随着turbo forms(CRM 2016)的引入而改变,访问表单的父对象,这将是iframe的两个层次。

代码语言:javascript
复制
function setListener() {
  if (window.XMLHttpRequest) {
    //for browsers other than ie
    window.parent.addEventListener("message", receivePostMessage, false);
  } else {
    //ie
    window.parent.attachEvent('onmessage',receivePostMessage);
  }

window.parent.parent.postMessage(JSON.stringify(pass_data), 'crm url');
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38020310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档