在 javascript 中检测 Safari 浏览器
Detect Safari browser in javascript
我找到了这个代码片段,它检查是否使用了 Safari 浏览器:
var isSafari = /constructor/i.test(window.HTMLElement);
但我真的不知道这里发生了什么。有人可以向我解释它是如何工作的吗?我知道 constructor
returns 创建 RegExp 对象原型的函数和 i
执行不区分大小写的匹配,但 HTMLElement
到底是什么?
在 Safari 中,window.HTMLElement
returns 一个名为 HTMLElementConstructor
.
的函数
所以让我们这样做:
/constructor/i.test(function HTMLElementConstructor() {}) // return true
但是对于其他浏览器(FF,Chrome),它returns HTMLElement
/constructor/i.test(function HTMLElement() {}) // return false
但是谢谢你的观察!我希望我们能像这里提到的方法一样使用它:Detect Safari browser
我找到了这个代码片段,它检查是否使用了 Safari 浏览器:
var isSafari = /constructor/i.test(window.HTMLElement);
但我真的不知道这里发生了什么。有人可以向我解释它是如何工作的吗?我知道 constructor
returns 创建 RegExp 对象原型的函数和 i
执行不区分大小写的匹配,但 HTMLElement
到底是什么?
在 Safari 中,window.HTMLElement
returns 一个名为 HTMLElementConstructor
.
所以让我们这样做:
/constructor/i.test(function HTMLElementConstructor() {}) // return true
但是对于其他浏览器(FF,Chrome),它returns HTMLElement
/constructor/i.test(function HTMLElement() {}) // return false
但是谢谢你的观察!我希望我们能像这里提到的方法一样使用它:Detect Safari browser