【问题标题】:PHP Websocket undefined in Edge Browser在 Edge 浏览器中未定义 PHP Websocket
【发布时间】:2017-06-16 20:49:18
【问题描述】:

我开发了一款多人纸牌游戏,因此使用了 websocket。为了在php中实现websocket,我使用了this library

我已经把它放到我的 ubuntu 服务器上,程序在 Chrome 浏览器和 Firefox 上运行良好(前端是使用 Javascript 实现的)。 使用 Edge 浏览器时,出现错误提示 “ReferenceError: WebSocket is undefined”。但在互联网上,我读到 Edge 通常应该支持 websockets。

我已经检查了文档模式是否是另一个IE版本,但它也设置为边缘。 确切的版本是 11.0.0600.18537。

以下是我的代码(虽然我不认为这是一个问题,因为它可以在其他浏览器中使用)

 connectToSocket=function() {
    var host = "ws://[host]:9000/echobot"; 

    try
    {
       socket = new WebSocket(host);
       console.log('WebSocket - status ' + socket.readyState);
       ...
    }
    catch(ex){
        console.log('some exception : ' +ex);      
    }

有人知道 Edge 可能有什么问题吗?

【问题讨论】:

  • 你的边缘已经过时了,只需检查是否单击 3 点单击设置并滚动到底部我的最新版本正在运行Microsoft Edge 38.14393.0.0 但是这将很快改变为新版本Windows 10 即将发布

标签: javascript php websocket microsoft-edge phpwebsocket


【解决方案1】:

你确定你真的在你的代码中写了WebSocket 吗?该错误表明 Websocket 未定义(使用非大写的 s)。

实际的类名是WebSocket,大写为S

请确认您粘贴的示例代码与您的应用程序中的代码完全相同。

编辑

在 cmets 中进一步讨论后,我相信 WebSocket 支持可能在您的浏览器中为 disabled。根据我自己的experimentCan I Use,您的浏览器版本(11.0.0600.18537)应该支持 WebSocket。

【讨论】:

  • 但是 OP 说除了 Edge 之外它工作得很好,当然很高兴从 OP 那里知道
  • 抱歉,我编辑了问题中的错误。实际上,错误显示“WebSocket”并且代码是正确的:-)
  • @user2550641 在localhost127.0.0.1 上运行代码或连接到localhost127.0.0.1?尝试连接到ws://echo.websocket.org,以防这是一个奇怪的IE错误,也可能在浏览器中测试以下地址http://www.websocket.org/echo.html
  • 调用你提到的url(websocket.org/echo.html),出现如下错误:“哦,你使用的浏览器没有原生支持WebSocket。也就是说你不能运行这个演示。”这显然意味着,我的浏览器不支持 Websockets。但是在整个网络上都说,这个版本的 IE 应该支持这个......
  • @user2550641 您确定您使用的是受支持的浏览器吗?我刚刚尝试使用您指定的确切版本(11.0.0600.18537)在 IE11 VM 中运行:imgur.com/otHTKkO
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-21
  • 2015-12-26
  • 2020-09-23
  • 1970-01-01
  • 2022-01-26
  • 2015-12-30
  • 1970-01-01
相关资源
最近更新 更多