项目场景:
项目支持浏览器为safari,Chrome,IE,项目中多个页面有点击打开PDF功能,
问题描述
在safar浏览器中测试发现,对于系统中部分页面的PDF点击后无反应(未打开PDF且页面无提示)。
原因分析:
在排查过程中:
1.使用多个mac本不同版本的safari浏览器进行测试,发现虽然未打开PDF,但safari浏览器顶部均有“弹出式窗口被阻止”的提示,点击该提示或对浏览器进行更改设置允许弹出窗口后,PDF可以正常打开。而若更改设置为阻止,则会出现点击后无法打开PDF且无提示的情况。
2.在浏览器设置“为阻止”时,系统其他PDF可以打开。经与开发沟通,不可打开的PDF和可打开的PDF实现方式不一致,具体参考如下描述:
- 无法打开PDF:在点击按钮后,通过后端接口获取该pdff的地址,之后通过js打开新页面pdf
- 可打开PDF:从后端下的接口中拿到pdf的链接,前端代码将链接地址放到页面的链接地址中,客户点击链接打开pdf
解决方案:
考虑到不同用户对于浏览器设置不同,为了更好的用户体验,参照可打开PDF代码进行了更改。