我已经使用postMessage从iFrame到客户关系管理进行了一段时间的通信。它在2011年客户关系管理和2015年客户关系管理中发挥了作用,但在2016年客户关系管理中不再起作用。
iFrame javascript代码:
var pass_data = {
'refresh': 'false',
'expand': 'true'
};
window.parent.postMessage(JSON.stringify(pass_data), 'crm url');CRM 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中,这是否仍然是一个可行的选择?
发布于 2016-06-24 19:39:28
CRM对象模型随着turbo forms(CRM 2016)的引入而改变,访问表单的父对象,这将是iframe的两个层次。
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');https://stackoverflow.com/questions/38020310
复制相似问题