現在支持window.postMessage
電話的所有瀏覽器是什麼?我正在尋找本地支持它的瀏覽器,而不是通過iFrame破解。什麼瀏覽器現在支持window.postMessage調用?
回答
Can I use cross-document messaging
FF3 +,IE8 +,Chrome瀏覽器,Safari瀏覽器(5?),Opera10 +
IE8不允許跨Windows /標籤的postMessage
更多信息點擊這裏
很好的指出!我甚至不知道它可以在其他瀏覽器的windowws/tabs中使用> _> – Raynos 2011-05-17 20:29:26
IE9支持跨Windows /標籤頁的postMessage的任何想法? – Blowsie 2011-08-05 13:22:58
postMessage()API現在對IE9模式頁面具有異步行爲。本文http://blogs.msdn.com/b/ieinternals/archive/2009/09/16/bugs-in-ie8-support-for-html5-postmessage-sessionstorage-and-localstorage.aspx解釋了仍然存在的問題在IE9中並不確定它是否已經得到糾正。 – 2011-08-05 14:36:35
爲了最近的價值,我遇到了一些奇怪的webkit瀏覽器/版本,它們不支持postMessage。我使用IE(8)檢測作爲尋求替代方法的手段。相反,我也許應該只是做了一些這樣的事情:
if(window.postMessage){
console.log('Supports post message');
}
或者可能有點清潔:
var pm_is_supported = typeof(window.postMessage) == 'function';
謝謝,這是好東西。這不是問題的答案,而應該是一個評論。 – 2014-04-08 08:19:18
您的清潔解決方案在IE8中無法使用。在IE8中window.postMessage以對象形式返回 – KingOfHypocrites 2014-05-25 15:14:35
我會堅持:return !! window.postMessage; – KingOfHypocrites 2014-05-25 15:17:09
的postMessage在IE8 +無論其
- 記住支持了IE9及以下要求數據以字符串形式傳遞,而不是作爲對象傳遞。
- IE不喜歡你在頁面加載後立即打電話
postMessage
(我假設這與你發佈的需要時間加載的iframe有關)。
使用setTimeout
等待一兩秒鐘,然後致電postMessage
。
我花了幾個小時才弄明白這一點,IE並沒有給我任何錯誤信息,直到我添加了setTimeout,它才靜靜地無所事事。
如果你想開始在IE瀏覽器實際上做工作演示,看看this nifty tutorial by Ilya Kantor
所有最新的瀏覽器支持例如IE 11,邊緣,火狐57+,Dafari 11+,Safari瀏覽器的iOS 10.2+,Opera Mini的,Android版Chrome,UC瀏覽器等
https://caniuse.com/#search=document%20messaging
- 1. 什麼瀏覽器支持函數_now()?
- 2. 什麼瀏覽器支持globalStorage?
- 3. 什麼clearfixes支持哪些瀏覽器?
- 4. Xpath和瀏覽器支持什麼
- 5. 什麼瀏覽器支持`overflow-y`?
- 6. 什麼瀏覽器支持Java 8?
- 7. 什麼瀏覽器支持「!重要」?
- 8. 什麼瀏覽器支持XSLT 2.0?
- 9. 什麼瀏覽器支持HTML 5/CSS3
- 10. 什麼瀏覽器支持Xpath 2.0?
- 11. Gecko支持的瀏覽器和Webkit支持的瀏覽器有什麼區別?
- 12. 什麼瀏覽器當前實現了對HTML5 MediaController的支持?
- 13. 瀏覽器支持
- 14. 瀏覽器支持WebDriver還是WebDriver支持瀏覽器
- 15. 爲什麼在Firefox 27中不支持GWT瀏覽器插件?
- 16. Ember.js瀏覽器支持?
- 17. 移動瀏覽器支持
- 18. Kurento瀏覽器/ webRTC支持
- 19. window.devicePixelRatio瀏覽器支持
- 20. Robot Framework瀏覽器支持
- 21. 瀏覽器支持「e.target.files」
- 22. XMLHttpRequest瀏覽器支持
- 23. Scaja.js瀏覽器支持
- 24. 跨瀏覽器支持jQuery
- 25. 爲 「//domain.com」 瀏覽器支持
- 26. XML跨瀏覽器支持
- 27. 邊緣瀏覽器支持
- 28. 瀏覽器支持sencha touch
- 29. 瀏覽器支持stopImmediatePropagation?
- 30. 瀏覽器不支持幀
需要注意的是IE8/9只支持數據參數字符串,而所有其他瀏覽器都支持對象。 – 2013-06-04 04:41:02
@Brando:你評論剛剛救了我一天。我想我會花幾個小時試圖弄清IE爲什麼不起作用;但是,我正在發送一個對象。 – 2013-09-01 16:05:49
舊的帖子,但你可以發送json(刺)並使用eval來解碼對象 – ElSinus 2014-06-24 13:02:30