index.js 904 B

123456789101112131415161718192021222324252627
  1. var webp_name = 'can_use_webp';
  2. function detectWebp() {
  3. if (!window.localStorage || typeof localStorage !== 'object') return;
  4. if (!localStorage.getItem(webp_name) || (localStorage.getItem(webp_name) !==
  5. 'available' && localStorage.getItem(webp_name) !== 'disable')) {
  6. var img = document.createElement('img');
  7. img.onload = function() {
  8. try {
  9. localStorage.setItem(webp_name, 'available');
  10. } catch (ex) {}
  11. };
  12. img.onerror = function() {
  13. try {
  14. localStorage.setItem(webp_name, 'disable');
  15. } catch (ex) {}
  16. };
  17. img.src =
  18. 'data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAsAAAABBxAREYiI/gcAAABWUDggGAAAADABAJ0BKgEAAQABABwlpAADcAD+/gbQAA==';
  19. }
  20. }
  21. detectWebp();
  22. module.exports = function() {
  23. return !!window.localStorage && window.localStorage.getItem(webp_name) === 'available';
  24. };