有没有一种方法可以在ie8中通过弹出框使用postmessage()crossdomain。我希望在用户在弹出窗口中执行一个操作(登录)后在父页面上运行一个函数。 Facebook这样的网站如何做到这一点。跨域postmessage()通过ie8中的弹出框
回答
IE8中的跨域PostMessage
是limited to frame/iframe relationships,它不允许跨越制表符或窗口。
您可以通过websockets使用交换机服务器来模拟它的行为,通过例如Socket.io可以回退到旧浏览器的longpolling。然后,您可以通过交换台广播一条消息,其他选项卡或Windows可以订阅以了解登录成功/失败的时间。
你的建议会有用吗?如果他们在不同的域名,我怀疑有一个“交换台服务器”,可以使用任何这些方法进行广播......它更有意义**不使用弹出窗口,使用模态对话框而不是iframe ,这样iframe可以沟通 – Ian
为什么不呢?如果配置正确,所有可用的方法都可以从任何域访问。你所需要的只是一个简单的node.js服务器来传递消息,并且没有人在意跨域的边界。我同意使用这个弹出窗口只会在需要跨域**和** IE8兼容性时不必要地复杂化。对于Facebook和类似的东西并不重要,他们已经拥有了完整的实时基础设施。 –
我想我只是需要一个解释:)我也可能误解了,所以无论如何,这听起来不错+1 – Ian
- 1. 打开一个弹出通过的postMessage
- 2. 跨域postMessage问题
- 3. postMessage跨域和php
- 4. AJAX跨域“转换”到Postmessage
- 5. 跨域ajax调用:postMessage
- 6. 使用postMessage跨域iframe resizer
- 7. HTML5 PostMessage跨域问题
- 8. 通过弹出框删除弹出框
- 9. IE11跨域弹出窗口
- 10. 跨域jQuery弹出式POST
- 11. 跨域弹出窗口
- 12. 时弹出关闭,跨域
- 13. 跨域弹出窗口。
- 14. 跨域域框架通信
- 15. JavaScript的跨域PostMessage不工作
- 16. Fancybox/iFrame使用postMessage的位置(跨域)
- 17. 使用postMessage的跨域消息传递
- 18. 通过POST跨域
- 19. iframe的跨域通讯与jQuery的postMessage插件
- 20. 我该如何做跨域postMessage?
- 21. 通过iframe上传,IE8/9访问被拒绝(跨域)
- 22. 跨域认证通过URL
- 23. 通过PrincipalContext跨域登录
- 24. 通过JSONP跨域调用
- 25. 通过Ajax跨域调用
- 26. 通过HTTPS跨域JSONP
- 27. 如何通过JavaScript跨域?
- 28. Javascript在IE8中跨域请求
- 29. 在IFrame中显示跨域内容(IE8)
- 30. 在IE8中修复跨域请求
['postMessage'](https://developer.mozilla.org/en-US/docs/Web/API/window.postMessage)工作跨域,这就是要点。如果你创建一个弹出窗口,并保留对其“窗口”对象的引用,则可以发送消息。 –
但跨域不起作用 – aWebDeveloper
'postMessage'可能无法在IE8中正常工作:http://caniuse.com/#search=postMessage –