IE上的WebSocket未定义,具体取决于浏览器的URL。为什么?

时间:2019-02-09 08:47:16

标签: javascript html5 internet-explorer websocket

我简单的websocket.html如下所示

<script type = "text/javascript">
function webSocketTest(){
    if ('WebSocket' in window)
    {
        alert('supported');
    }
    else
    {
        alert('not supported');
    }
}

webSocketTest();

</script>

无论我在哪里,我都可以在chrome上获取“受支持”消息。

但是在IE(10和11)上

  1. 如果我直接(本地)使用浏览器打开该html文件,则可以正常工作。
    我会收到“受支持”消息。
  2. 但是,如果我将该html文件放在apache或IIS下并通过url打开,它会显示“不支持”。
    (例如http://test.mysite.com/websocket.html
    当然,我设置了主机 文件,例如127.0.0.1 test.mysite.com)
  3. 我使用两个不同的URL设置了与主目录相同的文件夹。一个用于“ test.abc.com/websocket.html”,另一个用于“ test.ddd.com/websocket.html”。奇怪的是,第一个没有用,但是第二个很好用。(abc.com是我的公司名称,实际上它不是abc,而是另一个名称。。)
    可以一次性将abc.com设置为受信任的站点,并且将其删除也不起作用。 :(

有人知道出什么问题吗?

1 个答案:

答案 0 :(得分:0)

我终于找到了问题所在。 打开“工具兼容性视图”设置。然后取消选中所有复选框。

我之前曾经将abc.com网站添加到此兼容性设置列表中。删除它当时也没有用,但是取消选中所有复选框后,它现在可以使用了。

我希望这对有此问题的人有所帮助。