Websocket-Rails 和 IE 8
Posted
技术标签:
【中文标题】Websocket-Rails 和 IE 8【英文标题】:Websocket-Rails and IE 8 【发布时间】:2014-05-29 18:20:38 【问题描述】:我正在使用websocket-rails gem 开发一个实时聊天应用程序,但在 Internet Explorer 8 中获取实时更新时遇到了困难。
在初始化器底部有一个选项可以启用 IE8/9 与启用 CORS 的兼容性:
# Supporting HTTP streaming on Internet Explorer versions 8 & 9
# requires CORS to be enabled for GET "/websocket" request.
# List here the origin domains allowed to perform the request.
config.allowed_origins = ['http://localhost:3000']
我已启用此功能进行开发,但它的工作非常零星且不可预测。我能够让一条消息出现一次或两次,但从未始终如一,并且此后无法再次创建它。
有没有人有让 websocket-rails 和 IE 工作的经验?提前致谢。
【问题讨论】:
我最近做了一些类似的工作,并且必须编写一个中间件来篡夺IE8到IE10的调用并重写它们以形成正确的CORS语句。它可能有助于创建一个中间件,在其中添加一个调试器,然后查看试图通过什么,以及为什么它会失败。 【参考方案1】:你可以试试WebSocketJS, a polyfill for WebSocket
我宁愿使用 polyfill 来建立一个套接字连接,尝试使用 HTTP 请求来模拟一个。
【讨论】:
以上是关于Websocket-Rails 和 IE 8的主要内容,如果未能解决你的问题,请参考以下文章
Rails 4 + Websocket-rails + Passenger + Nginx + 负载均衡器
无法在生产服务器上为 websocket-rails 启动独立服务器