【问题标题】:data issue addEventListener in IE9IE9 中的数据问题 addEventListener
【发布时间】:2015-05-12 12:20:23
【问题描述】:

我必须将一些数据从iframe 传递给父母。

iframe代码

window.parent.postMessage({message: 'Test'}, "*");

父代码

  window.addEventListener('message', function (e) {
    alert('Received message 1 : ' + e.data.message);
    document.getElementById('ExchangeID').value=e.data.message;
  }, false);

这在 Firefox、Chrome、Safari 中运行良好。当我在 IE9 中运行它时,我收到 e.data.messageundefined 的错误。

这里缺少什么?

【问题讨论】:

  • 那是因为 IE9 不允许您发送对象。你可以做window.parent.postMessage('test', '*');
  • 感谢@putvande,它有效

标签: javascript internet-explorer addeventlistener postmessage


【解决方案1】:

来自Can I Use... page on Cross-document Messaging

IE8-9 中的部分支持是指仅在框架/iframe 中工作(而不是其他选项卡/窗口)。此外,在 IE 9 及以下版本中无法使用 postMessage 发送对象

但是,您可以使用替代语法:

window.parent.postMessage("test", "*")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 2011-09-13
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多