同一HTML标签,不同终端,情形各异,这个锅丢给谁?

如题详述:

就这样的一行a标签代码,点击链接,情形各异:

  • PC端、iOS手机浏览器端正常预览PDF文件
  • android手机浏览器端,直接下载

试问:同样的页面,在不同终端参差不齐,请问这是谁的锅?浏览器内核?如果是浏览器内核,那我又是怎样才能知道不同内核对某个HTML标签属性支持情况?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0"/>
  <title>Document</title>
</head>
<body>
  <a href="" download="http://www.pospi.com/pdf/ismp3%20%E4%B8%AD%E6%96%87.pdf">点击后PDF效果</a>
</body>
阅读 4.2k
9 个回答

丢给download,这玩意支持的不好。

这个情况之前也遇到过,android浏览器默认不能解析pdf文件,需要各种插件支持,项目紧张。后面想了个办法,先把pdf转成html文件放在另一台服务器,然后针对pdf链接在android webview中设置跳转。判断如果是pdf文件,那么直接强值更换链接为html的版本。

自我解答这个问题:今天逛vue逛网,无意中发现兼容移动端很赞地预览PDF文件的模块“vue-pdf”,https://github.com/FranckFrei...

初步的测试了下,发现这个模块的效果远好于pdfjs,大家可以参考下!!!!(哈哈,开心,发现新东西了,我要改代码了!!!)

层主您好,我说一个方案,个人见接。
  • 既然点击a标签的反应是五花八门,那么就自己去写点击事件
  • 可以通过js去判断当前浏览器的类型之后拿到您的下载链接去做不同的处理

题外话:这种锅当然是厂商的了。。。

解决不了自己背!解决了但不是很好,丢给厂商!

改变默认样式 或者同意默认样式

前两天刚处理了这跟题,安卓端可以使用 pdfjs 去预览 pdf 文件(这方面有问题可以聊)。


PC端各浏览器内部封装了 PDF 预览,IOS 原生存在 PDF reader 可以调起来解析pdf,但是 安卓原生没有(在安装了 google drive 的手机上也可以达到点击 a 直接预览的效果),所以需要手动补偿。


锅可以甩,但是效果统一要保证:)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题