【问题标题】:How to create a Websocket Client with Chrome Extensions?如何使用 Chrome 扩展创建 Websocket 客户端?
【发布时间】:2012-10-02 19:12:51
【问题描述】:

我正在尝试在 Chrome 扩展程序/Chrome 打包应用程序上创建一个 WebSocket 客户端,其行为类似于来自 hakobera 的 Simple WebSocket Client,或来自 Chrome Web Store 上的 toni.ruottu 的 Dark Websocket Terminal

我一直在尝试将以下代码添加到我的 Chrome 扩展程序中,但甚至无法使任何连接正常工作。 (我在 appache 上的 pywebsocket 扩展在 localhost 上运行)

var ws;
if ("WebSocket" in window) {
  ws = new WebSocket("ws://localhost");
  ws.onopen = function() {
    ws.send("hello");
  };
}

我应该在清单文件中添加一些特殊的东西吗?或者我应该使用其他方法在 Chrome 扩展程序中建立连接?一些代码示例或示例项目将不胜感激。

谢谢!

【问题讨论】:

  • 你错过了端口号吗?
  • 我也试过 ws://localhost:80,但问题是窗口中的“Websocket”甚至没有评估为真。如果我将代码作为脚本插入到单个 html 文件中,那么它会正确连接到我的本地主机。但无法让它在 Chrome 扩展程序中工作。
  • 您能提供网络套接字服务器的代码吗? 1. chrome扩展的manifest文件中不需要添加任何特殊的东西。 2. 您当前的代码在 Web 套接字对象实例化行中进行了一些编辑,例如 port number in ws://protocol,工作正常。

标签: google-chrome google-chrome-extension websocket client


【解决方案1】:

确保:

  • 您在 manifest.json 中指定了 https://localhost 权限
  • 您从后台页面而不是内容脚本打开 WebSocket

您可以找到使用 WebSocket 的example of fully-functioning extension

【讨论】:

    猜你喜欢
    • 2021-02-08
    • 2017-05-29
    • 2012-03-21
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    相关资源
    最近更新 更多