mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
33 lines
978 B
JavaScript
33 lines
978 B
JavaScript
![]() |
// Polyfill for vendor prefixed style properties
|
||
|
|
||
|
(function () {
|
||
|
const vendorProperties = {
|
||
|
'transform': ['webkitTransform'],
|
||
|
'transition': ['webkitTransition']
|
||
|
};
|
||
|
|
||
|
const elem = document.createElement('div');
|
||
|
|
||
|
function polyfillProperty(name) {
|
||
|
if (!(name in elem.style)) {
|
||
|
for (const vendorName of vendorProperties[name] || []) {
|
||
|
if (vendorName in elem.style) {
|
||
|
console.debug(`polyfill '${name}' with '${vendorName}'`);
|
||
|
|
||
|
Object.defineProperty(CSSStyleDeclaration.prototype, name, {
|
||
|
get: function () { return this[vendorName]; },
|
||
|
set: function (val) { this[vendorName] = val; }
|
||
|
});
|
||
|
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (elem.style instanceof CSSStyleDeclaration) {
|
||
|
polyfillProperty('transform');
|
||
|
polyfillProperty('transition');
|
||
|
}
|
||
|
})();
|