检测是否是标准浏览器环境 函数
Posted xiaolantian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检测是否是标准浏览器环境 函数相关的知识,希望对你有一定的参考价值。
实现思路:根据当前环境是否存在某个对象来判别,如果光存在还不足以判别就再判断属性,最终将结果返回。
/**
* Determine if we‘re running in a standard browser environment
*
* This allows axios to run in a web worker, and react-native.
* Both environments support XMLHttpRequest, but not fully standard globals.
*
* web workers:
* typeof window -> undefined
* typeof document -> undefined
*
* react-native:
* navigator.product -> ‘ReactNative‘
* nativescript
* navigator.product -> ‘NativeScript‘ or ‘NS‘
*/
function isStandardBrowserEnv() {
if (typeof navigator !== ‘undefined‘ && (navigator.product === ‘ReactNative‘ ||
navigator.product === ‘NativeScript‘ ||
navigator.product === ‘NS‘)) {
return false;
}
return (
typeof window !== ‘undefined‘ &&
typeof document !== ‘undefined‘
);
}
代码来源:axios源码
以上是关于检测是否是标准浏览器环境 函数的主要内容,如果未能解决你的问题,请参考以下文章
是否有符合标准的方法来检测 C 标准库中的函数是否通过内部/内置实现?