gpt4 book ai didi

javascript - 如何强制将链接另存为,下载链接,而不是忽略事件的服务人员?

转载 作者:行者123 更新时间:2023-11-30 00:01:03 28 4
gpt4 key购买 nike

我有一个包含活跃服务人员的网页。该页面有链接 <a>当点击请求时,服务人员按预期拦截了请求。但是,当用户右键单击链接并选择另存为...时,服务人员将被忽略(并且向服务器发送正常请求,就好像没有服务人员一样)。

如何强制另存为功能通过服务工作线程?

答案应该依赖于更改按钮链接或更改非服务 worker 客户端部分。

最佳答案

可以设置hrefjavascript:void(0) , 使用 data-*用于存储应获取的 URL 的属性,位于 click<a>元素使用fetch() ,这应该要求 ServiceWorker可以拦截。

<!DOCTYPE html>
<html>

<head>
</head>

<body>
<a href="javascript:void(0)"
data-href="placehold.it/1x1"
title="placehold.it">placehold.it</a>
<script>
document.querySelector("a").onclick = function(e) {
e.preventDefault();
var request = fetch(location.protocol + "//" + this.dataset.href);
request.then(response => response.blob())
.then(blob => console.log(blob))
}
</script>
</body>

</html>

关于javascript - 如何强制将链接另存为,下载链接,而不是忽略事件的服务人员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40519266/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com