ija*_*n03 3 javascript iframe postmessage dynamics-crm dynamics-crm-2016
我一直在使用postMessage从iFrame到CRM进行一段时间的通信.它在CRM 2011和CRM 2015中有效,但它不再适用于CRM 2016.
iFrame javascript代码:
var pass_data = {
'refresh': 'false',
'expand': 'true'
};
window.parent.postMessage(JSON.stringify(pass_data), 'crm url');
Run Code Online (Sandbox Code Playgroud)
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);
}
Run Code Online (Sandbox Code Playgroud)
setListener()在页面加载时被调用,我已经确认它正被调用.我已经尝试使用"*"作为目标原点,它仍然无法正常工作.
有谁知道这在CRM 2016中是否仍然是一个可行的选择?
CRM对象模型随着turbo表单(CRM 2016)的引入而改变,访问表单的父对象,这将是iframe的2级.
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');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1217 次 |
| 最近记录: |