全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2251|回复: 28

50元求份JS判断代码

[复制链接]
发表于 2022-1-10 17:31:12 | 显示全部楼层 |阅读模式
需要一段JS代码判断浏览器是否支持显示webp,如果支持就加载外部1.js否则加载2.js
发表于 2022-1-10 17:35:43 | 显示全部楼层
  1. function WebpIsSupported(callback){
  2.     // If the browser doesn't has the method createImageBitmap, you can't display webp format
  3.     if(!window.createImageBitmap){
  4.         callback(false);
  5.         return;
  6.     }

  7.     // Base64 representation of a white point image
  8.     var webpdata = 'data:image/webp;base64, UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAEAAQAcJaQAA3AA/v3AgAA=';

  9.     // Retrieve the Image in Blob Format
  10.     fetch(webpdata).then(function(response){
  11.         return response.blob();
  12.     }).then(function(blob){
  13.         // If the createImageBitmap method succeeds, return true, otherwise false
  14.         createImageBitmap(blob).then(function(){
  15.             callback(true);
  16.         }, function(){
  17.             callback(false);
  18.         });
  19.     });
  20. }

  21. WebpIsSupported(function(isSupported){
  22.     if(isSupported){
  23.         console.log("支持");
  24.     }else{
  25.         console.log("不支持");
  26.     }
  27. });
复制代码

把console.log("支持");或  console.log("不支持"); 改成输出你的JS就行了
发表于 2022-1-10 17:35:55 | 显示全部楼层
https://blog.csdn.net/weixin_33695450/article/details/89626831

然后自个改改代码就行
发表于 2022-1-10 17:35:56 | 显示全部楼层
var isSupportWebp = function () {
  try {
    return document.createElement('canvas').toDataURL('image/webp', 0.5).indexOf('data:image/webp') === 0;
  } catch(err) {
    return false;
  }
}

isSupportWebp()







function check_webp_feature(feature, callback) {
    var kTestImages = {
        lossy: "UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",
        lossless: "UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==",
        alpha: "UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAARBxAR/Q9ERP8DAABWUDggGAAAABQBAJ0BKgEAAQAAAP4AAA3AAP7mtQAAAA==",
        animation: "UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA"
    };
    var img = new Image();
    img.onload = function () {
        var result = (img.width > 0) && (img.height > 0);
        callback(feature, result);
    };
    img.onerror = function () {
        callback(feature, false);
    };
    img.src = "data:image/webp;base64," + kTestImages[feature];
}






const supportsWebp = ({ createImageBitmap, Image }) => {
  if (!createImageBitmap || !Image) return Promise.resolve(false);

  return new Promise(resolve => {
      const image = new Image();
      image.onload = () => {
          createImageBitmap(image)
              .then(() => {
                  resolve(true);
              })
              .catch(() => {
                  resolve(false);
              });
      };
      image.onerror = () => {
          resolve(false);
      };
      image.src = 'data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA=';
  });
};

const webpIsSupported = () => {
  let memo = null;
  return () => {
      if (!memo) {
          memo = supportsWebp(window);
      }
      return memo;
  };
};

webpIsSupported()().then(res => {
    console.log("是否支持 webp", res)
}).catch(err => {
    console.log(err)
})


发表于 2022-1-10 17:36:37 | 显示全部楼层
一搜一堆,5毛钱流量就够
 楼主| 发表于 2022-1-10 17:36:59 | 显示全部楼层
本帖最后由 白龙君 于 2022-1-10 17:38 编辑
Salta 发表于 2022-1-10 17:35
把console.log("支持");或  console.log("不支持"); 改成输出你的JS就行了


妈的我眼瞎了,谢谢老哥我试试,可以了我私你。
发表于 2022-1-10 17:37:12 | 显示全部楼层
572149705 发表于 2022-1-10 17:35
var isSupportWebp = function () {
  try {
    return document.createElement('canvas').toDataURL('ima ...

改改  这种还要花钱吗  百度阿铁铁
发表于 2022-1-10 17:37:54 | 显示全部楼层
https://cl1p.net/jsin
很简单的解决方法
stackoverflow找的
 楼主| 发表于 2022-1-10 17:51:45 | 显示全部楼层
Salta 发表于 2022-1-10 17:35
把console.log("支持");或  console.log("不支持"); 改成输出你的JS就行了

直接填js地址不行啊
发表于 2022-1-10 17:54:30 | 显示全部楼层
白龙君 发表于 2022-1-10 17:51
直接填js地址不行啊

https://zhidao.baidu.com/question/718506054538000445.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-4 16:33 , Processed in 0.101004 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表