当某些浏览器无法使用此方法时,是否可以将内置的javascript方法存储在变量中以设置不同的行为?
我的特定情况是在Safari或旧版MS浏览器中不可用的intersectionObserver。我有一些以此触发的动画,如果不可用intersectionObserver,我想将其关闭。
我想要做的基本上是这样的:
var iO = intersectionObserver;
if ( !iO ) {
// set other defaults
}
我真的不想只为一个功能加载polyfill或库吗?
非常感谢
艾米莉
最佳答案
运算符中的广泛用于检测浏览器支持的功能。 JavaScript功能可作为window
对象的属性全局使用。因此,我们可以检查window
元素是否具有该属性。if("IntersectionObserver" in window){
/* work with IntersectionObserver */
}
if("FileReader" in window){
/* work with FileReader */
}
因此,您也可以将结果保存在boolean
变量中,并在以后的代码中使用它。var iO = "IntersectionObserver" in window; /* true if supported */
if ( !iO ) {
// set other defaults
}
关于javascript - 为一个Javascript功能创建特征检测(intersectionObserver),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48793588/