检查是否定义了对象/函数(JavaScript、Safari问题)
Check whether an object/function is defined (JavaScript, Safari issue)
我想检查是否可以使用对象/函数,例如window.performance.now()
。if(typeof window.performance.now != 'undefined')
运行良好,但Safari(5.1.7,Windows)除外,它返回TypeError: 'undefined' is not an object (evaluating 'window.performance.now')
。为了避免混淆:console.log(typeof window.performance.now)
返回相同的错误。
因为Safari不支持window.performance
对象本身。所以你检查会更安全
typeof window.performance !== 'undefined' && typeof window.performance.now !== 'undefined'
更新
第一个检查是查看window.performance
对象是否存在。第二个检查是查看.now()
函数在window.performance
对象中是否可用。
https://developer.mozilla.org/en-US/docs/Web/API/Performance
相关文章:
- 在Safari执行javascript之前对其进行修改
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- iOS Safari Javascript设置超时问题
- Javascript Cookies在Safari中不起作用
- 带有Safari的Javascript;不起作用——所有其他浏览器都起作用
- 导航到新url时,Javascript在Safari中不起作用
- 在Firefox上使用聚合物的javascript依赖关系的HTML导入困难;Safari
- JavaScript函数在Safari中有效,但在Firefox中找不到
- 可以't使用“;设“;Safari Javascript中的关键字
- html视频javascript播放方法在移动Safari中不起作用
- 在Safari上使用JavaScript获取IPv4地址
- 检测通过移动 Safari 中的 JavaScript 关闭浏览器选项卡
- JavaScript 在后台打开窗口,而不是在 Chrome 和 Safari 中打开前台
- 支持 JavaScript 的检查例程适用于 Chrome/Opera/IE,但不适用于 Firefox/Safari
- RGB 到 HEX JavaScript 函数在 Chrome 中工作,但不能在 Firefox 或 Safari 中工
- JavaScript中的简单正则表达式适用于所有浏览器,但Safari除外
- IPAD safari 浏览器不支持 window.open JavaScript 方法
- Javascript, Safari/iPhone 5 no Number object
- Packey-JavaScript:Safari渲染问题
- JavaScript Safari-SyntaxError:意外的令牌'>'