小编aje*_*rup的帖子

在客户端保存生成的文件-Ipad + Safari未知文件名

我在Ipad + Safari中保存Excel文件时遇到问题。请注意,我唯一的问题是Ipad / Iphone IOS + Safari。
我用来实现“另存为”功能的库是 FileSaver.js,但它确实存在Safari的错误

到目前为止,我尝试过的解决方案:

  • 使用HTML5下载属性,但IOS Safari不支持下载attr

var blob = new Blob([jx_s2ab(wbout)], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'});
var a = window.document.createElement("a"); 
a.href = window.URL.createObjectURL(blob);
a.download = "textexcel.xlsx"; 
a.target = "_blank"
document.body.appendChild(a);
a.click();  
document.body.removeChild(a);
Run Code Online (Sandbox Code Playgroud)

  • 文件阅读器API

var blob = new Blob([jx_s2ab(wbout)], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'});
var reader = new FileReader();
     reader.onload = function(e){
        window.location.href = reader.result;
                
     }
     reader.readAsDataURL(blob);
Run Code Online (Sandbox Code Playgroud)

在以上所有解决方案中,到目前为止最好的一种:File Reader API。它确实可以正常工作,并且我可以使用正确的数据打开文件,但是唯一的问题是文件名,没有选项可以在新选项卡中打开。在Ipad + Safari中,文件名显示为“ unknown.xlsx”,这不是很好的用户体验。

如果可以解决文件名问题或任何其他库,请分享。

safari download ipad ios

5
推荐指数
0
解决办法
2217
查看次数

服务工作者安装事件与激活事件

这是关于在 Progressive Web App 中使用的 serviceworker API。任何人都可以帮助我了解 Service Worker安装事件和激活事件之间的区别吗?

以下是我的理解,

  1. 安装事件是注册 Service Worker 后发生的第一个事件。
  2. 安装事件只发生一次 - 我不确定这一点,我可以在页面刷新时看到这个事件运行。所以我对这种说法感到困惑。
  3. 在安装事件之后 - 激活事件触发器。
  4. 每次页面重新加载时都会触发 Activate 事件。

除了上面的陈述,我的问题是两个事件之间到底有什么区别,它们都一个接一个地运行,如果是这样,为什么我们需要两个事件?

更新:分享可能有帮助的资源。我正在读这个。 https://developers.google.com/web/fundamentals/instant-and-offline/service-worker/lifecycle

感谢所有的回应。

javascript service-worker

4
推荐指数
1
解决办法
3320
查看次数

CSS优先顺序

我对样式表的优先顺序有疑问.有第六个吗?用户代理重要声明.如果是这样,它的优先顺序是什么?

已经看过这个w3.org,https: //www.w3.org/TR/CSS21/cascade.html#cascade,但它只提到了5个不同来源

1.)用户代理声明
2.)用户正常声明
3.)作者正常声明
4.)作者重要声明
5.)用户重要声明

我在认证问题上看过第6个.但无法找到相关信息.

谢谢你的帮助.

css stylesheet operator-precedence

3
推荐指数
1
解决办法
138
查看次数