gpt4 book ai didi

javascript - 如何防止模拟 click() 的 Default()

转载 作者:行者123 更新时间:2023-12-02 23:47:44 24 4
gpt4 key购买 nike

我想允许从如下所示的云 URL 下载。我可以阻止此点击时默认刷新页面吗?

/* Server responded with a url and filename */

let a=document.createElement('a');
document.body.appendChild(a);
a.href=url ;
a.download =filename
a.click();

我尝试过这种方法来防止刷新。

function tempClick(e) {
e.preventDefault();
window.open(e.target.href);
}

a.addEventListener('click',tempClick);
a.click();


我想要一个比侵入式 window.open() 更好的方法来触发下载

最佳答案

有趣的问题。

您是否已经尝试过 here推荐“window.location.assign()”或简单地“window.location = url;”方式?如果您的文件不可被浏览器渲染和/或以正确的“Content-Disposition”类型响应,它似乎可以工作。

注意:除了图像之外,我没有找到要检查的文件。但是,当使用“window.location.assign()”时,图像只是在浏览器中打开(这当然不是您想要的)...

编辑:当然,那么你根本不需要 .click() 而只需执行 window.location.assign()

关于javascript - 如何防止模拟 click() 的 Default(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55778049/

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