1

我正在测试打开 websocket 和 echo。我正在尝试在基于 Linux 的 PC 上运行并使用官方 websocket 网站“ http://www.websocket.org/echo.html ”中的示例代码进行测试,我只是将代码复制到那里并保存为 HTML 文件。但是,当我访问 '127.0.0.1/websocket.html' 时,屏幕上只出现 HTML 代码,无法使用 JavaScript 文件。我在基于窗口的笔记本电脑上尝试了完全相同的代码,它可以正常工作。我正在使用网络浏览器作为“Chromium 10.0.648.133 Ubuntu 10.04”你能帮帮我吗?代码在下面..

    <!DOCTYPE html>
    <meta charset="utf-8" />
    <title>WebSocket Test</title>
    <script language="javascript" type="text/javascript">
    var wsUri = "ws://echo.websocket.org/";
    var output;

    function init() {
    output = document.getElementById("output");
testWebSocket();


}

function testWebSocket() {
websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) };
websocket.onerror = function(evt) { onError(evt) };
}

function onOpen(evt) {
writeToScreen("CONNECTED");
doSend("WebSocket rocks");
}

function onClose(evt) {
writeToScreen("DISCONNECTED");
}

function onMessage(evt) {
writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');
websocket.close();
}

function onError(evt) {
writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
}

function doSend(message) {
writeToScreen("SENT: " + message);
websocket.send(message);
}

function writeToScreen(message) {
var pre = document.createElement("p");
pre.style.wordWrap = "break-word";
pre.innerHTML = message;
output.appendChild(pre);
}

window.addEventListener("load", init, false);

</script>
<h2>WebSocket Test</h2>
<div id="output"></div>
</html>
4

2 回答 2

0

操作系统与 WebSocket 是否工作完全无关。这是一个浏览器问题。Firefox、Chromium 或其他在他们支持的每个平台上为 Web 开发人员提供相同功能的东西。

Chromium 10 仅部分支持WebSocket,这意味着它支持旧版本的标准/协议,或者您必须手动启用它们。只需更新您的浏览器。Chromium 10 于 2011 年 3 月发布,因此在当前几乎每个浏览器版本中都添加了新的 HTML5 功能的情况下,它已经相当老了。

于 2013-06-18T15:42:08.683 回答
0

Firefox 不支持 WebSockets Firefox 不支持 WebSockets

上面的链接可能对你有帮助...

于 2013-06-18T12:27:28.390 回答