Я выбрал быстрый Polyfill, основанный на приведенных выше ответах:
//# Polyfill
window.addEventListener = window.addEventListener || function (e, f) { window.attachEvent('on' + e, f); };
//# Standard usage
window.addEventListener("message", function(){ /*...*/ }, false);
Конечно, как и ответы выше, это не гарантирует существование window.attachEvent
, что может или не может быть проблемой.