javascript - 是否可以从网页内部使用 Chrome 远程调试协议(protocol)?

标签 javascript google-chrome debugging

是否可以从 Chrome 浏览器内部连接到 Remote Debugging Protoco我? - 无需为此目的安装和创建扩展。

目的是使用 ACE 编辑器或类似工具测试在 HTML 页面内创建的 JavaScript 代码,以允许用户在页面内运行代码片段,然后将结果返回到调用页面。例如,代码可能在 IFRAME 内运行。

至少http://brackets.io/据说“Brackets 是一个基于 Web 的 IDE,它使用 Chrome 调试协议(protocol)来启用调试和实时 HTML/CSS 开发。” - 这让我想知道,是否有可供浏览器连接的客户端 JS API使用 WebSockets 到接口(interface)还是必须自己编写该接口(interface)?

那么,客户端似乎有几个选项,但是浏览器本身呢?

编辑:假设此处浏览器是通过 --remote-debugging-port=... 设置为有意义的值启动的。

最佳答案

不直接。据我所知,远程调试接口(interface)只有在启动时使用 --remote-debugging-port= 命令行标志显式启用时才可用。似乎没有任何方法可以在运行时激活它;即使是,您也无法从网页访问它。

请记住,Brackets 是一个基于 Chrome 的独立应用程序;它不作为网站运行。因此,它可以完成一些在浏览器中无法完成的事情。

现在,话虽如此,如果您小心的话,可能有一种方法可以提供一些错误报告和调试功能。特别是,如果您可以将代码注入(inject) iframe,则可以将事件处理程序附加到 the global onerror event捕获异常。您可能需要使用一些特殊技巧将事件从框架传递到父页面 - Window.postMessage may be helpful here — 但这至少应该让您开始。

关于javascript - 是否可以从网页内部使用 Chrome 远程调试协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30202285/

相关文章:

css - 线性渐变在 Chrome 中不起作用

java - 如何单步进入tomcat源码?

eclipse - 如何在 eclipse 中调试 Camunda webapps?

javascript按键过滤并将键的值映射到另一个对象的新对象键

javascript - 如何在 Firefox for Android 上为视频创建缩略图

javascript - 在 Safari 中上传图片不起作用

google-chrome - 为什么 Chrome 打开连接但不发送任何内容

javascript - 如何从表中获取数据?

javascript - 使用 <select> 标签的视频选择不起作用

java - 以阻塞方式轻松在屏幕上打印图像以进行调试