File tree Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Expand file tree Collapse file tree 1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change 79
79
80
80
// Object.defineProperty() ?
81
81
(function checkObjectDefinePropertyCompatibility () {
82
- // safari 5 and 6 cannot use this on DOM objects and thus it's unusable,
83
- if ((typeof Object .defineProperty !== 'undefined' ) &&
84
- !/Safari /.test (navigator .userAgent )) return ;
82
+ if (typeof Object .defineProperty !== 'undefined' ) {
83
+ // Some browsers (e.g. safari) cannot use this on DOM objects
84
+ var definePropertyPossible = true ;
85
+ try {
86
+ Object .defineProperty (new Image (), 'id' , { value : 'test' });
87
+ } catch (e ) {
88
+ definePropertyPossible = false ;
89
+ }
90
+ if (definePropertyPossible ) return true ;
91
+ }
85
92
86
93
Object .defineProperty = function objectDefineProperty (obj , name , def ) {
87
94
delete obj [name ];
You can’t perform that action at this time.
0 commit comments