Spaces:
Configuration error
Configuration error
| (function(window, document) { | |
| // Test if it already supports srcset | |
| if ('srcset' in document.createElement('img')) | |
| return true; | |
| // We want to get the device pixel ratio | |
| var maxWidth = (window.innerWidth > 0) ? window.innerWidth : screen.width, | |
| maxHeight = (window.innerHeight > 0) ? window.innerHeight : screen.height, | |
| maxDensity = window.devicePixelRatio || 1; | |
| // Implement srcset | |
| function srcset(image) { | |
| if (!image.attributes['srcset']) return false; | |
| var candidates = image.attributes['srcset'].nodeValue.split(','); | |
| for (var i = 0; i < candidates.length; i++) { | |
| // The following regular expression was created based on the rules | |
| // in the srcset W3C specification available at: | |
| // http://www.w3.org/html/wg/drafts/srcset/w3c-srcset/ | |
| var descriptors = candidates[i].match( | |
| /^\s*([^\s]+)\s*(\s(\d+)w)?\s*(\s(\d+)h)?\s*(\s(\d+)x)?\s*$/ | |
| ), | |
| filename = descriptors[1], | |
| width = descriptors[3] || false, | |
| height = descriptors[5] || false, | |
| density = descriptors[7] || 1; | |
| if (width && width > maxWidth) { | |
| continue; | |
| } | |
| if (height && height > maxHeight) { | |
| continue; | |
| } | |
| if (density && density > maxDensity) { | |
| continue; | |
| } | |
| image.src = filename; | |
| } | |
| } | |
| var images = document.getElementsByTagName('img'); | |
| for (var i=0; i < images.length; i++) { | |
| srcset(images[i]); | |
| } | |
| })(window, document); |