【问题标题】:Use Chrome/Firefox while debugging client-side在调试客户端时使用 Chrome/Firefox
【发布时间】:2014-12-09 10:26:19
【问题描述】:

我正在使用带有 getUserMedia 的相机,我遇到了一些我想修复的错误。问题是 Visual Studio 只允许我用 IE 调试 JavaScript(我的意思是打断点),而 IE 不支持 getUserMedia。

【问题讨论】:

  • 在您希望 Chrome/Firefox 停止的地方设置debugger;
  • 我试过这个,但我无法点击任何断点来检查它的值。
  • 您需要打开开发控制台并在浏览器中检查它,而不是在 Visual Studio 中
  • 真的只有这样吗?
  • 我个人想不出另一个。

标签: javascript debugging browser visual-studio-2013


【解决方案1】:

如果您想在 Internet Explorer 以外的浏览器中进行调试,则需要使用该浏览器的开发工具并相应地设置断点。或者,您可以使用 console.log() 和/或 console.warn() 在代码中获取对象的状态。 Visual Studio 不理解也无法理解不同 JavaScript 和渲染引擎(V8、Blink、Gecko 等)的实现——它也不应该尝试这样做。这些引擎在六周的发布周期内运行得如此之快,以至于 IDE 将完全误导您应该测试的实际平台。

Firefox 和 Chrome 都允许您在页面重新加载/导航之外保留控制台内容,并且有像 Browser Link in Visual Studio 这样的工具可以让您同时在多个浏览器中进行测试 - 之后检查控制台结果是否有错误(交互必须是在每个浏览器中单独测试)。

如果您正在测试移动设备Adobe Shadow,这可能允许您同时在多个平板电脑和/或手机上进行测试,同时在笔记本电脑或台式机上使用开发工具(我相信是 Chrome)。否则,桌面浏览器开发工具允许您使用相同的浏览器调试在连接的移动设备上运行的页面,或者 - 对于 Firefox - 还可以在设备上使用Chrome instances。

了解用于前端调试和故障排除的浏览器开发工具非常值得,因为这些工具比 Visual Studio 提供的功能强大得多。免费的 CodeSchool 课程Discover DevTools(专注于 Chrome DevTools,由 Google/Chrome 赞助)可以帮助您发现客户端开发工具的一些特性,并且许多接口和技术将广泛适用于其他浏览器开发工具。

如果您想在您无法使用的设备、您无法在系统上安装的浏览器(例如 Windows 上的 Safari)上进行测试,或者只是在您无法与本地已安装的版本一起安装的较新或旧版本上进行测试像Browserstack 这样的服务允许您在托管的虚拟机中这样做。 BrowserStack 可以使用Visual Studio extension 来帮助连接到本地运行的项目。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-18
    • 2013-01-17
    • 1970-01-01
    • 2012-01-31
    • 2019-10-09
    • 1970-01-01
    • 2013-06-02
    • 2018-04-16
    相关资源
    最近更新 更多