vue在IE9兼容问题

新建的vue项目在IE9浏览器报错SCRIPT5009: “WebSocket”未定义,怎么解决

在 IE9 浏览器中,WebSocket 是不被支持的。因此,在您的 Vue 项目中使用 WebSocket 可能会导致“WebSocket 未定义”的错误。

为了解决这个问题,您可以考虑使用一个 Polyfill 库,例如 socket.io-client 或者 ws。这些库的主要作用是提供一种兼容性方案,允许在低版本的浏览器中使用 WebSocket 的功能。

按照下面的步骤来安装和配置 socket.io-client:

  1. 安装 socket.io-client 库
npm install socket.io-client
  1. 在需要使用 WebSocket 的组件或模块中引入 socket.io-client 库
import io from 'socket.io-client';
  1. 创建 socket.io-client 连接实例,并尝试连接 WebSocket 服务器
const socket = io('http://localhost:3000', {
    transports: ['websocket']
});

这个示例代码将创建一个指向本地端口 3000 的 WebSocket 连接,其中 transports 参数告诉 socket.io-client 在可用的情况下仅使用 WebSocket 进行通信。

请注意,使用 Polyfill 库可能会对应用程序的性能产生一定的影响。但是,如果您在 Vue 项目中需要向 IE9 这样古老的浏览器提供 WebSocket 支持,则这是一种有效的解决方案。

  • 这篇博客: 【Vue项目实战】之WebSocket消息监听中的 总结: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 本次排查此问题从后端到前端前后大概1小时左右时间,感觉时间有点久,看来技术还得和各位大佬多学学,以下找到篇写得不错的关于此次问题的博文,和大家分享一下。