Skip to content

Commit 44d0802

Browse files
author
Tim de Koning
committed
We should use feature detection. Thanks @brendandahl
1 parent d70e6ab commit 44d0802

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

web/compatibility.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,16 @@
7979

8080
// Object.defineProperty() ?
8181
(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+
}
8592

8693
Object.defineProperty = function objectDefineProperty(obj, name, def) {
8794
delete obj[name];

0 commit comments

Comments
 (0)