WebSocket 在 IE 上未定义,具体取决于浏览器 URL.为什么



我的简单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 可以设置为受信任的站点一次,删除它也不起作用。:(

有人知道问题出在哪里吗?

我终于想通了问题。打开"工具-兼容性视图"设置。,然后取消选中所有框。

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

我希望这将帮助那些有这个问题的人。

最新更新