【发布时间】:2016-07-06 18:50:01
【问题描述】:
我有一个非常简单的网页,除了正文中的以下脚本外,它是空的:
<script type="text/javascript">
var host = "ws://sample-host/echo";
var ws = new WebSocket(host);
</script>
我将此页面托管在运行 IIS 7.5 的 Web 服务器上,作为经典 ASP.NET 应用程序的一部分。当我用 Chrome 或 Firefox 打开页面时,会调用 WebSocket 构造函数。当我用IE11打开页面时,功能未定义。
我可以将页面保存在本地,在IE、Chrome、Firefox中打开,构造函数调用正确。
为什么 websocket() 仅在托管和使用 IE11 时未定义?
【问题讨论】:
-
ws://sample-host/echo是一个有效的 URL 吗?我没有看到 TLD -
不是,但是当我使用有效的 URL 时,结果是相同的 - IE 认为该函数未定义。使用无效 URL 时,所有其他浏览器都会尝试连接并返回未找到错误。
-
可能是回滚 IE 的边缘元标记。您能发布您收到的确切错误消息吗?
-
@dandavis 你是对的,看起来有人在网站的 web.config 中添加了一个自定义元标记,将其回滚到 IE9。
标签: javascript websocket iis-7.5 internet-explorer-11