jQuery(document).ready(function ($) {
let bodhisvgsReplacements = 0;
function bodhisvgsReplace(img) {
var imgID = img.attr('id');
var imgClass = img.attr('class');
var imgURL = img.attr('src');
// Set svg size to the original img size
// var imgWidth = $img.attr('width');
// var imgHeight = $img.attr('height');
if (!imgURL.endsWith('svg')) {
return;
}
$.get(imgURL, function(data) {
// Get the SVG tag, ignore the rest
var $svg = $(data).find('svg');
var svgID = $svg.attr('id');
// Add replaced image's ID to the new SVG if necessary
if(typeof imgID === 'undefined') {
if(typeof svgID === 'undefined') {
imgID = 'svg-replaced-'+bodhisvgsReplacements;
$svg = $svg.attr('id', imgID);
} else {
imgID = svgID;
}
} else {
$svg = $svg.attr('id', imgID);
}
// Add replaced image's classes to the new SVG
if(typeof imgClass !== 'undefined') {
$svg = $svg.attr('class', imgClass+' replaced-svg svg-replaced-'+bodhisvgsReplacements);
}
// Remove any invalid XML tags as per http://validator.w3.org
$svg = $svg.removeAttr('xmlns:a');
if(frontSanitizationEnabled == 'on' && $svg[0]['outerHTML'] != "") { // Is sanitization enabled?
$svg = DOMPurify.sanitize($svg[0]['outerHTML']); // Sanitize SVG code via DOMPurify library
}
// Add size attributes
// $svg = $svg.attr('width', imgWidth);
// $svg = $svg.attr('height', imgHeight);
// Replace image with new SVG
img.replaceWith($svg);
$(document).trigger('svg.loaded', [imgID]);
bodhisvgsReplacements++;
}, 'xml');
}
// Wrap in IIFE so that it can be called again later as bodhisvgsInlineSupport();
(bodhisvgsInlineSupport = function() {
// If force inline SVG option is active then add class
if ( ForceInlineSVGActive === 'true' ) {
// Find all SVG inside img and add class if it hasn't got it
jQuery('img').each(function() {
// Check if the SRC attribute is present at all
if ( typeof jQuery(this).attr('src') !== typeof undefined && jQuery(this).attr('src') !== false) {
// Pick only those with the extension we want
if ( jQuery(this).attr('src').match(/\.(svg)/) ) {
// Add our class name
if ( !jQuery(this).hasClass(cssTarget.ForceInlineSVG) ) {
jQuery(this).addClass(cssTarget.ForceInlineSVG);
}
}
}
});
}
// Polyfill to support all ye old browsers
// delete when not needed in the future
if (!String.prototype.endsWith) {
String.prototype.endsWith = function(searchString, position) {
var subjectString = this.toString();
if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {
position = subjectString.length;
}
position -= searchString.length;
var lastIndex = subjectString.lastIndexOf(searchString, position);
return lastIndex !== -1 && lastIndex === position;
};
} // end polyfill
// Another snippet to support IE11
String.prototype.endsWith = function(pattern) {
var d = this.length - pattern.length;
return d >= 0 && this.lastIndexOf(pattern) === d;
};
// End snippet to support IE11
// Check to see if user set alternate class
if ( ForceInlineSVGActive === 'true' ) {
var target = ( cssTarget.Bodhi !== 'img.' ? cssTarget.Bodhi : '.style-svg' );
} else {
var target = ( cssTarget !== 'img.' ? cssTarget : '.style-svg' );
}
target = target.replace("img","");
$(target).each(function(index){
// if image then send for replacement
if ( typeof $(this).attr('src') !== typeof undefined && $(this).attr('src') !== false) {
bodhisvgsReplace($(this));
}else{
// look for svg children and send for replacement
$(this).find("img").each(function(i){
if( typeof $(this).attr('src') !== typeof undefined && $(this).attr('src') !== false ){
bodhisvgsReplace($(this));
}
});
}
});
})(); // Execute immediately
});
Quality repairs for your car at affordable prices - GK Parts
We repair cars with care and attention to detail” is a statement that highlights the importance of providing high-quality auto repair services. It suggests that the company or individual providing the service takes pride in their work and is committed to ensuring that every car they repair
We repair cars with care and attention to detail” is a statement that highlights the importance of providing high-quality auto repair services. It suggests that the company or individual providing the service takes pride in their work and is committed to ensuring that every car they repair
We repair cars with care and attention to detail” is a statement that highlights the importance of providing high-quality auto repair services. It suggests that the company or individual providing the service takes pride in their work and is committed to ensuring that every car they repair
Protecting your home from damaging leaks is essential to maintaining the integrity of
your home. Leaks can cause significant damage to your Home’s structure, leading to
costly repairs.
Ronald Richards
We repair cars with care and attention to detail” is a statement that highlights the importance of providing high-quality auto repair services. It suggests that the company or individual providing the service takes pride in their work and is committed to ensuring that every car they repair
Best Quality any work
Global Trade and Logistics: This topic could explore the impact of global trade policies, such as tariffs and trade agreements, on logistics operations. It could also cover the challenges and opportunities of managing logistics in a global supply chain, including cultural differences, language barriers, and legal requirements.
There are many different types of roofing materials to choose from, including asphalt shingles, Metal roofing, wood shakes, clay tiles, and slate. Each material has its
There are many different types of roofing materials to choose from, including asphalt shingles, Metal roofing, wood shakes, clay tiles, and slate. Each material has
Malen
May 15, 2023There are many different types of roofing materials to choose from, including asphalt shingles, Metal roofing, wood shakes, clay tiles, and slate. Each material has its
Malen
May 15, 2023Is a statement that highlights the importance of providing high-quality auto repair services. It suggests that the company or individual
Malen
May 15, 2023There are many different types of roofing materials to choose from, including asphalt shingles, Metal roofing, wood shakes, clay tiles, and slate. Each material has