Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/wp-smush.../_src/js/frontend
File: webp-fallback.js
(function () {
[0] Fix | Delete
'use strict';
[1] Fix | Delete
[2] Fix | Delete
// Source: https://developers.google.com/speed/webp/faq#in_your_own_javascript.
[3] Fix | Delete
function check_webp_feature(feature, callback) {
[4] Fix | Delete
var kTestImages = {
[5] Fix | Delete
alpha: "UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAARBxAR/Q9ERP8DAABWUDggGAAAABQBAJ0BKgEAAQAAAP4AAA3AAP7mtQAAAA==",
[6] Fix | Delete
};
[7] Fix | Delete
var img = new Image();
[8] Fix | Delete
img.onload = function () {
[9] Fix | Delete
var result = (img.width > 0) && (img.height > 0);
[10] Fix | Delete
callback(result);
[11] Fix | Delete
};
[12] Fix | Delete
img.onerror = function () {
[13] Fix | Delete
callback(false);
[14] Fix | Delete
};
[15] Fix | Delete
img.src = "data:image/webp;base64," + kTestImages[feature];
[16] Fix | Delete
}
[17] Fix | Delete
[18] Fix | Delete
check_webp_feature('alpha', (isSupportedWebP) => {
[19] Fix | Delete
document.documentElement.classList.add(isSupportedWebP ? 'webp' : 'no-webp');
[20] Fix | Delete
if (isSupportedWebP) {
[21] Fix | Delete
return;
[22] Fix | Delete
}
[23] Fix | Delete
[24] Fix | Delete
const originalGetAttribute = Object.getOwnPropertyDescriptor(Element.prototype, 'getAttribute');
[25] Fix | Delete
[26] Fix | Delete
// Redefine the getAttribute function with a custom implementation
[27] Fix | Delete
Object.defineProperty(Element.prototype, 'getAttribute', {
[28] Fix | Delete
value: function (attributeName) {
[29] Fix | Delete
// data-smush-webp-fallback.
[30] Fix | Delete
if (!this.dataset.smushWebpFallback) {
[31] Fix | Delete
return originalGetAttribute.value.call(this, attributeName);
[32] Fix | Delete
}
[33] Fix | Delete
[34] Fix | Delete
const webpFallbackValue = JSON.parse(this.dataset.smushWebpFallback);
[35] Fix | Delete
[36] Fix | Delete
if (attributeName in webpFallbackValue) {
[37] Fix | Delete
return webpFallbackValue[attributeName];
[38] Fix | Delete
}
[39] Fix | Delete
[40] Fix | Delete
return originalGetAttribute.value.call(this, attributeName);
[41] Fix | Delete
}
[42] Fix | Delete
});
[43] Fix | Delete
[44] Fix | Delete
const webpFallbackElements = document.querySelectorAll('[data-smush-webp-fallback]:not(.lazyload)');
[45] Fix | Delete
if (webpFallbackElements.length) {
[46] Fix | Delete
// Update background image, src, srcset.
[47] Fix | Delete
const imageDisplayAttrs = ['src', 'srcset'];
[48] Fix | Delete
webpFallbackElements.forEach((element) => {
[49] Fix | Delete
const webpFallbackValue = JSON.parse(element.dataset.smushWebpFallback);
[50] Fix | Delete
imageDisplayAttrs.forEach(function (attrName) {
[51] Fix | Delete
if (attrName in webpFallbackValue) {
[52] Fix | Delete
element.setAttribute(attrName, webpFallbackValue[attrName]);
[53] Fix | Delete
}
[54] Fix | Delete
});
[55] Fix | Delete
[56] Fix | Delete
// Update background image.
[57] Fix | Delete
if ('bg' in webpFallbackValue) {
[58] Fix | Delete
element.style.background = webpFallbackValue.bg;
[59] Fix | Delete
}
[60] Fix | Delete
if ('bg-image' in webpFallbackValue) {
[61] Fix | Delete
element.style.backgroundImage = webpFallbackValue['bg-image'];
[62] Fix | Delete
}
[63] Fix | Delete
});
[64] Fix | Delete
}
[65] Fix | Delete
});
[66] Fix | Delete
})();
[67] Fix | Delete
[68] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function