Kratos-Rebirth icon indicating copy to clipboard operation
Kratos-Rebirth copied to clipboard

Bug 回报:WebP格式图片在Apple平台下存在兼容性问题 & 360浏览器 on MacOS 解析JS出错

Open 201206030 opened this issue 3 years ago • 14 comments

  1. 报告前须知
  • [v] 我确认该Bug是可复现的,我会根据下面的模板提供完整详尽的复现步骤
  • [v] 我确认已认真阅读 ReadMe.md 和文档,确认描述的内容有误或是不能解决我的问题
  • [v] 我已知晓如果没有认真阅读且勾选这里所有的条目,或是没有使用此模板认真详细地描述问题,是对彼此时间的浪费,我的 issue 可能会被无解释关闭
  1. 对Bug的描述:

在 MacOS 系统的360 极速浏览器Safari 浏览器中打开博客系统的列表页会存在图片不显示的现象,Windows 平台不知道会不会也有这种兼容问题

  1. 复现Bug的方法:

可以使用如下的方案进行复现:

  1. 前往 MacOS 系统的 360 极速浏览器或 Safari 浏览器
  2. 打开 https://candinya.com/categories/教程文档/ 链接
  3. 360 极速浏览器中的随机图片不显示,Safari 浏览器中 webp 图片不显示
  4. 如果把 webp 格式的图片换成其它格式,Safari 浏览器中可以正常显示
  5. 打开 360 极速浏览器的开发者工具可以看到控制台报错
  1. 期望的行为:

期望兼容更多的浏览器

  1. 相关的截图: jo60m9.md.png jo6WOH.md.png

  2. 运行环境(如果该Bug的产生和环境有关,例如浏览器不兼容导致):

  • 操作系统: [MacOS 10.15.7]
  • 浏览器: [Safari 13.1.3, 360极速浏览器 12.2.1662.0]
  1. 您的配置文件:
  1. 补充内容:

201206030 avatar Jul 18 '22 12:07 201206030

很遗憾,Safari 系列浏览器是鲜有的不支持 WebP 格式的现代浏览器,~考虑到 WebP 在编码效果上的优势,我们更建议您更换浏览器~

For this project

可能需要 fallback 机制

Workaround

可以使用自定义随机图片源并指向非 WebP 图片源(可以自行维护)的方式处理

ArcticLampyrid avatar Jul 18 '22 12:07 ArcticLampyrid

很遗憾,Safari 系列浏览器是鲜有的不支持 WebP 格式的现代浏览器,~考虑到 WebP 在编码效果上的优势,我们更建议您更换浏览器~

For this project

可能需要 fallback 机制

Workaround

可以使用自定义随机图片源并指向非 WebP 图片源(可以自行维护)的方式处理

大佬,Safari 系列浏览器的图片问题我可以自己解决,有空看下 360 浏览器的问题,这个是 js 直接报错了

201206030 avatar Jul 18 '22 12:07 201206030

有空看下 360 浏览器的问题,这个是 js 直接报错了

麻烦给一下内核类型及内核版本号

ArcticLampyrid avatar Jul 18 '22 12:07 ArcticLampyrid

有空看下 360 浏览器的问题,这个是 js 直接报错了

麻烦给一下内核类型及内核版本号

joR24I.png

201206030 avatar Jul 18 '22 12:07 201206030

~Chromium 78 发布于 2019 年,出于安全性考虑,建议您升级浏览器~ 好的,会适当检查一下脚本的兼容性问题的

ArcticLampyrid avatar Jul 18 '22 12:07 ArcticLampyrid

~Chromium 78 发布于 2019 年,出于安全性考虑,建议您升级浏览器~ 好的,会适当检查一下脚本的兼容性问题的

大佬有空看看就行,主要是 360 浏览器的用户国内还挺多的

201206030 avatar Jul 18 '22 12:07 201206030

报错的是因为 js 脚本里用到了 ?. 这个可选链操作符,用以简化连续可能为 undefined 的参数表达式(拆开的写法兼容性较好,但比较冗长),在 Chromium 内核 80 版本开始受到支持,旧内核浏览器会出现执行错误,关于该操作符的更多信息可以参见 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaining

Candinya avatar Jul 18 '22 17:07 Candinya

大佬有空看看就行,主要是 360 浏览器的用户国内还挺多的

master 分支已经配置 babel,现在就js语法层面而言,应当已经兼容低版本内核

{
  "browserslist": [
    "last 2 versions",
    "> 1%",
    "Chrome >= 30",
    "Firefox >= 30",
    "ie >= 9",
    "Safari >= 8"
  ]
}

ArcticLampyrid avatar Jul 19 '22 04:07 ArcticLampyrid

收到,大佬们幸苦了!

201206030 avatar Jul 19 '22 05:07 201206030

大佬,封面图片换成自己的,配置文件也更改了,但还是加载不出来

ZHANQILU avatar Aug 23 '22 10:08 ZHANQILU

大佬,封面图片换成自己的,配置文件也更改了,但还是加载不出来

加载不出来是指的依然是默认图片还是说无法加载图片(默认使用的 jsdelivr 连通性不太好,可能会有图片无法加载的情况)呢,修改的配置文件指的是否是将 jsconfig.main.cover.baseUrl 修改成了您需要的配置(例如使用本地文件的话类似于 "/images/thumb/" 这样)呢

Candinya avatar Aug 23 '22 11:08 Candinya

无法加载图片 我就直接在/images/thumb/文件夹里面传了20张我的图片,在_config.kratos-rebirth.yml 里面把filenameTemplate: 'thumb_{no}.webp'改成了thumb_{no}.jpg

ZHANQILU avatar Aug 23 '22 11:08 ZHANQILU

无法加载图片 我就直接在/images/thumb/文件夹里面传了20张我的图片,在_config.kratos-rebirth.yml 里面把filenameTemplate: 'thumb_{no}.webp'改成了thumb_{no}.jpg

还需要再顺带修改一下 jsconfig.main.cover.baseUrl 这个字段哦,可以按照上面一条回复来修改一下 https://github.com/Candinya/Kratos-Rebirth/blob/master/_config.yml#L204

Candinya avatar Aug 23 '22 12:08 Candinya

可以啦,谢谢大佬❤❤❤😙😙😙

ZHANQILU avatar Aug 23 '22 13:08 ZHANQILU