有没有办法以编程方式检测应用程序何时在chrome调试模式下运行?

时间:2016-08-11 18:07:46

标签: react-native

我想要做的日志记录会根据我所处的环境而改变。另外,在实际的层面上,我可能想要在chrome中调试时禁用某些动画,因为在运行时这些动作很慢穿过大桥。

为了澄清,在chrome中远程检测调试与检测应用程序是处于__DEV__模式还是使用打包程序不同。具体来说,我指的是何时选择"启动远程调试" (之前"在Chrome中开始调试")在开发者菜单中。

4 个答案:

答案 0 :(得分:1)

啊,我自己弄清楚了。可能有更好的方法,但您可以使用功能检测。来自anonymous.js库的以下片段可以解决问题。

let isNode = ("undefined" !== typeof global) && ('[object global]' === Object.prototype.toString.call(global))
let isWebWorker = !isNode && ('undefined' !== typeof WorkerGlobalScope) && ("function" === typeof importScripts) && (navigator instanceof WorkerNavigator)

在chrome中远程调试时,您的代码在WebWorker中运行。

答案 1 :(得分:1)

typeof location !== 'undefined'

远程调试时,全局变量没有originlocation属性。

它适用于React Native 44.0

答案 2 :(得分:0)

这个简短的片段对我有用

typeof importScripts === "function"

答案 3 :(得分:-1)

如果你正在使用打包器,那么__DEV__全局为true,那就是你所追求的吗?

取自此SO问题:https://stackoverflow.com/a/33264515/457407