Skip to content

Instantly share code, notes, and snippets.

@jcblw
Last active October 7, 2018 19:43
Show Gist options
  • Save jcblw/735e0e75d2c1cb2923f88f9254b0924e to your computer and use it in GitHub Desktop.
Save jcblw/735e0e75d2c1cb2923f88f9254b0924e to your computer and use it in GitHub Desktop.
export let hasWebPSupport = null;
export const loadImgSrc(src: string): Promise<void> {
return new Promise((resolve, reject) => {
const img = new Image();
img.onload = () => resolve();
img.onerror = () => reject();
img.src = src;
});
}
export const checkWebPSupport = () => {
if (typeof hasWebPSupport === 'boolean') return;
// lifted from modernizer src
return loadImageSrc('data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA==')
.then(() => {
hasWebPSupport = true;
})
.catch(() => {
hasWebPSupport = false;
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment