Так что мне нужно разгадать тайну.Сайт A получает сообщение postMessage от сайта B. Предполагается, что сообщение postMessage должно содержать высоту сайта B.Когда сайт A получает этот номер в Firefox, он верен на 433, но когда я получаю точно такое же сообщение в IE, Chrome и Safari, я получаю экстремальные результаты.
IE, Safairi, Chrome - 1584
Firefox - 433
У кого-нибудь есть мысли, почему я получаю разные номера?Это соответствует перезагрузке, но каждый раз, когда отправляется новое сообщение, я получаю новый номер.Результаты различны в каждом браузере.
IE-Pattern
- 1584
- 158399
- 397
- 39699
- 1533901
- 397
- 39699
- 1533901
Chrome / Safari - Pattern
- 1584
- 1583
- 1581
- продолжает уменьшаться при каждом запросе
Любые мысли приветствуются.Удачного дня!
var onmessage = function(e) {
console.log(e.data); // testing - 1584(wrong) or 433(right) on first message
height = e.data + 15;
// Resizes the iframe to accomodate the content
document.getElementById('api_box').parentNode.style.height = height + 'px';
};
// Using the postMessage method we can send data from the iframe to this frame and adjust its height
if (typeof window.addEventListener != 'undefined') {
window.addEventListener('message', onmessage, false);
} else if (typeof window.attachEvent != 'undefined') {
window.attachEvent('onmessage', onmessage);
}
Код на сайте B, который отправляет сообщение.
parent.window.postMessage(document.body.offsetHeight, '*');