Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 如何在Google Chrome中暂时禁用websocket?_Google Chrome_Websocket - Fatal编程技术网

Google chrome 如何在Google Chrome中暂时禁用websocket?

Google chrome 如何在Google Chrome中暂时禁用websocket?,google-chrome,websocket,Google Chrome,Websocket,我想暂时禁用Google Chrome中的websocket来调试javascript,以确保它适用于任何不支持websocket的浏览器 首先,我认为有更好的机制可以在无WebSocket环境中测试JavaScript。例如,您可以在IE9中运行JavaScript,IE9没有实现该协议。如果这更符合你的风格的话,Firefox4暂时也禁用了这些功能 假设有一些很好的理由需要在无WebSocket的Chromium中进行测试,我认为你运气不好。Chromium中没有一个简单的机制来禁用WebS

我想暂时禁用Google Chrome中的websocket来调试javascript,以确保它适用于任何不支持websocket的浏览器

首先,我认为有更好的机制可以在无WebSocket环境中测试JavaScript。例如,您可以在IE9中运行JavaScript,IE9没有实现该协议。如果这更符合你的风格的话,Firefox4暂时也禁用了这些功能

假设有一些很好的理由需要在无WebSocket的Chromium中进行测试,我认为你运气不好。Chromium中没有一个简单的机制来禁用WebSocket。它不是作为命令行开关内置的,也没有可配置的标志。因为没有任何机制可以让这种情况在本地发生,所以我不建议花时间测试这个场景。用户使用的每个Chromium版本(例如9+)都启用了WebSocket

综上所述,如果您真的需要禁用WebSocket,那么在不重新编译浏览器的情况下,最接近的方法就是删除测试代码中的相关变量:

WebSocket = undefined;

这将是一种相对残忍的暴力,但应该有效。您甚至可以创建一个扩展,将JavaScript注入到您访问的每个页面中,以获得真正的无WebSocket体验(再次假设,这对您的用例来说是有价值的)。

首先,我要说,有更好的机制在无WebSocket环境中测试JavaScript。例如,您可以在IE9中运行JavaScript,IE9没有实现该协议。如果这更符合你的风格的话,Firefox4暂时也禁用了这些功能

假设有一些很好的理由需要在无WebSocket的Chromium中进行测试,我认为你运气不好。Chromium中没有一个简单的机制来禁用WebSocket。它不是作为命令行开关内置的,也没有可配置的标志。因为没有任何机制可以让这种情况在本地发生,所以我不建议花时间测试这个场景。用户使用的每个Chromium版本(例如9+)都启用了WebSocket

综上所述,如果您真的需要禁用WebSocket,那么在不重新编译浏览器的情况下,最接近的方法就是删除测试代码中的相关变量:

WebSocket = undefined;

这将是一种相对残忍的暴力,但应该有效。您甚至可以创建一个扩展,将JavaScript注入到您访问的每个页面中,以获得真正的无WebSocket体验(再次假设,这对您的用例来说是有价值的)。

我能够用它阻止WebSocket

转到规则/自定义规则。。。在Fiddler菜单中

将此代码添加到类处理程序(我将其放在现有规则选项项之后):

在OnBeforeRequest中添加此代码:

    if (m_BlockWebsockets && oSession.oRequest.headers.Exists("Connection") && oSession.oRequest["Connection"] == "Upgrade") {
                oSession.oRequest.FailSession(502, "Blocked", "Fiddler blocked websocket connection");
                return;
            }

这将向规则菜单添加一个菜单选项阻止WebSocket。打开时,应根据Connection:Upgrade标头阻止ws-connections。

我可以使用阻止WebSocket

转到规则/自定义规则。。。在Fiddler菜单中

将此代码添加到类处理程序(我将其放在现有规则选项项之后):

在OnBeforeRequest中添加此代码:

    if (m_BlockWebsockets && oSession.oRequest.headers.Exists("Connection") && oSession.oRequest["Connection"] == "Upgrade") {
                oSession.oRequest.FailSession(502, "Blocked", "Fiddler blocked websocket connection");
                return;
            }

这将向规则菜单添加一个菜单选项阻止WebSocket。打开时,应根据Connection:Upgrade标头阻止ws-connections。

要禁用ws,您只需在chrome开发工具中添加“请求阻止”,但仅当特定文件正在启动websocket以防止加载它时,如果您不能这样做,此解决方案可能无法工作

例如:

Websocket连接是由echo.js启动的,所以您可以阻止该文件被删除,Websocket将永远不会启动

可以在“网络”选项卡中找到启动器文件

要禁用ws,您只需在chrome开发工具中添加“请求阻止”,但前提是特定文件正在启动websocket,以防止加载,如果您不能这样做,此解决方案可能无法工作

例如:

Websocket连接是由echo.js启动的,所以您可以阻止该文件被删除,Websocket将永远不会启动

可以在“网络”选项卡中找到启动器文件

在看到@user3661841之后,我创建了一个GreaseMonkey/TamperMonkey脚本,允许您以类似的方式禁用WebSocket

以下是基于Chrome浏览器(Chrome、Brave、Sidekick等)的说明:

  • 从Chrome商店下载
  • 从润滑件上安装。默认情况下,安装此脚本将在您访问的每个站点上禁用WebSocket。如果不想立即阻止WebSocket,请单击TamperMonkey图标和切换开关以禁用阻止
  • 如果要关闭WebSocket,请单击TamperMonkey图标和切换开关以启用阻止。刷新页面
  • 当您不再希望阻止WebSocket时,请禁用该脚本
  • 下面是要单击以禁用/启用WebSocket阻止的开关:

    注意1:您应该能够在控制台中看到输出,标记WebSocket连接试图打开,但被阻止

    注意2:请确保在禁用WebSocket进行开发后禁用此功能。如果您仅使用TamperMonkey禁用WebSocket,您将希望TamperMonkey在大多数情况下看起来像这样:

    当你想要阻止时,就像这样:


    在看到@user3661841之后,我创建了一个GreaseMonkey/TamperMonkey脚本,允许您以类似的方式禁用WebSocket

    以下是基于Chrome浏览器(Chrome、Brave、Sidekick等)的说明:

  • 从Chrome商店下载
  • 从润滑件上安装。默认情况下,安装此脚本将在您访问的每个站点上禁用WebSocket。如果你不想阻止我们