window.location.href怎么下载时隐藏真实链接
时间: 2023-10-31 19:59:03 浏览: 48
要隐藏下载链接的真实地址,可以使用 JavaScript 来动态生成一个下载链接,而不是使用直接打开链接的方式。例如:
```javascript
function downloadFile() {
// 真实文件地址
var realUrl = "https://example.com/files/file.pdf";
// 虚假文件名称
var fakeName = "document.pdf";
// 创建一个虚假的下载链接
var link = document.createElement("a");
link.download = fakeName;
link.href = realUrl;
// 使链接不可见
link.style.display = "none";
// 添加链接到文档中
document.body.appendChild(link);
// 模拟点击链接
link.click();
// 移除链接
document.body.removeChild(link);
}
```
这样,在用户点击下载按钮时,会触发 `downloadFile` 函数,动态创建一个虚假下载链接,让用户下载文件,而不会直接打开文件链接,从而隐藏了真实的下载地址。
相关问题
window.location.href下载隐藏真实链接
不建议使用 window.location.href 下载文件并隐藏真实链接,因为这样做可能会导致安全问题和用户体验问题。同时,这种做法也容易被浏览器拦截或被防病毒软件误报为恶意行为。
如果您需要提供文件下载链接,并且不想让用户直接访问该链接,可以考虑使用服务器端脚本来实现下载,例如 PHP 中的 header() 函数或者 Node.js 中的 sendFile() 方法。这些方法可以实现在不暴露真实链接的情况下提供文件下载服务,并且更加安全和可靠。
window.location.href 下载加载时加loading
在使用window.location.href进行页面跳转时,如果想要在新页面加载完全之前实现loading效果,可以采取以下方法:
1. 使用CSS样式实现loading效果:在页面中加入一个loading元素,通过设置其样式为loading效果,比如旋转或闪烁的动画。在跳转页面之前,通过JavaScript动态添加loading元素到页面中,并在新页面加载完全后移除loading元素。
2. 使用AJAX请求页面并插入到当前页面:如果不希望改变window.location.href跳转页面的内容,可以使用AJAX请求要跳转的页面,并将返回的HTML内容插入到当前页面中。在请求页面的过程中,可以显示loading效果,等待页面加载完成后再显示插入的内容。
3. 使用DOMContentLoaded事件:在新页面加载完全触发DOMContentLoaded事件时,再显示页面内容。可以在跳转页面之前先隐藏其他内容,只显示loading元素,等待新页面加载完全后,通过监听DOMContentLoaded事件,将loading元素隐藏并显示页面内容。
这些方法可以根据具体需求选择使用,以实现在使用window.location.href进行页面跳转时加入loading效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [用window.location.href做页面跳转,怎么在新页面加载完全之前实现loading效果?](https://blog.csdn.net/weixin_42583683/article/details/117782033)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]