哪些浏览器现在支持window.postMessage调用?
现在支持window.postMessage
调用的所有浏览器是什么? 我正在寻找本地支持它的浏览器,而不是通过iFrame黑客。
我可以使用跨文档消息传递吗?
FF3 +,IE8 +,Chrome,Safari(5?),Opera10 +
IE8不允许跨Windows /标签的postMessage
更多信息请点击这里
IE8 +支持postMessage
- 请记住,IE9及以下版本要求数据以stringforms传递,而不是作为对象传递。
- IE浏览器不喜欢你加载页面后立即调用
postMessage
(我假设这与你正在发布的iframe需要时间加载)。
在调用postMessage
之前,使用setTimeout
来等待一两秒钟。
我花了几个小时才弄明白这一点,IE并没有给我任何错误信息,直到我添加了setTimeout,它才静静地无所事事。
如果你想从一个实际在IE中运行的演示开始,请查看Ilya Kantor的这个漂亮的教程
对于最近的价值,我碰到了一些奇怪的webkit浏览器/版本,不支持postMessage。 我使用IE(8)检测作为寻求替代方法。 相反,我可能应该做一些这样的事情:
if(window.postMessage){ console.log('Supports post message'); }
或者可能有点清洁:
var pm_is_supported = typeof(window.postMessage) == 'function';
- 如何在Selenium WebDriver中为FirefoxDriver,ChromeDriver和IEdriver执行基本身份validation?
- Safari不会设置Cookie,但是IE / FF可以
- document.body.scrollTop Firefox返回0:ONLY JS
- JavaScript插页位置
- crossbrowser onbeforeunload?
- 如何垂直居中所有浏览器的div?
- 如何在不使用JavaScript的情况下使用CSS设置<select>下拉菜单?
- 什么是WebKit,它是如何与CSS相关的?
- Math.round(num)与num.toFixed(0)和浏览器不一致