a标签下载功能(同域和跨域)

这篇具有很好参考价值的文章主要介绍了a标签下载功能(同域和跨域)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

a标签下载功能(同域和跨域)文章来源地址https://www.toymoban.com/news/detail-475964.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <div>
      <!-- a 标签下载 -->
      <a href="/04-a标签下载功能/test.png" download="demo">下载</a>

      <!-- 其他标签实现下载   同域    -->
      <div onclick="download()">下载</div>

      <!-- 其他标签实现下载   跨域    -->
      <div onclick="download1()">下载</div>
    </div>
    <script>
      // 同域
      function download(
        url = '/04-a标签下载功能/test.png',
        title = 'demo2',
        artist = 'down'
      ) {
        const eleLink = document.createElement('a') // 新建A标签
        eleLink.href = url || '/04-a标签下载功能/test.png' // 下载的路径
        eleLink.download = `${title} - ${artist}` // 设置下载的属性,可以为空
        eleLink.style.display = 'none'
        document.body.appendChild(eleLink)
        eleLink.click() // 触发点击事件
        document.body.removeChild(eleLink)
      }
      // 跨域
      function download1(
        url = 'https://upload-images.jianshu.io/upload_images/5809200-a99419bb94924e6d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240',
        title = 'demo3',
        artist = 'down'
      ) {
        var x = new XMLHttpRequest()
        x.open('GET', url, true)
        x.responseType = 'blob'
        x.onload = function () {
          const url = window.URL.createObjectURL(x.response)
          const eleLink = document.createElement('a')
          eleLink.href = url
          eleLink.download = `${title} - ${artist}`
          eleLink.style.display = 'none'
          document.body.appendChild(eleLink)
          eleLink.click()
          document.body.removeChild(eleLink)
        }
        x.send()
      }
    </script>
  </body>
</html>

到了这里,关于a标签下载功能(同域和跨域)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • golang工程— grpc-gateway健康检查和跨域配置

    grpc健康检查网关跨域配置 grpc健康检查 grpc健康检查使用 服务端配置 网关配置 gateway.go 如果网关中设置了拦截器之类的进行鉴权判断,可以通过 FullName=\\\"/grpc.health.v1.Health/Check\\\" 去忽略鉴权 监控检查默认请求 http://localhost:8081/healthz grpc网关跨域配置 采用中间件的形式封装httph

    2024年02月06日
    浏览(39)
  • php跨域和https访问http问题分析

    1、https的web访问http地址的资源 问题:请求状态status= (canceled)    解决办法:把资源地址改成https的 2、https的web访问http地址的资源 问题:请求状态status= (blocked:mixed-content) mixed-contend解释 是:出现这个问题的原因是因为 在https网站中发起的http请求被禁止。也就是在https的网站

    2024年04月25日
    浏览(38)
  • 亚马逊S3解决跨域和权限问题

    S3对公网开放,解决权限问题 1、进入存储桶,点击权限,定位到“阻止公有访问(存储桶设置)”,全部不勾选 2、定位到“存储桶策略” 编辑更改内容 (公开) (可以是公有的) 3、解决跨域问题 定位到“跨源资源共享(CORS)”,编辑内容 相关亚马逊文档:亚马逊S3跨域配置

    2024年02月11日
    浏览(49)
  • 前端和后端之间的CORS 跨域和解决办法

            跨源资源共享 (CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送

    2024年01月23日
    浏览(55)
  • Nginx 301 https跳转后出现跨域和混合内容问题 —— 筑梦之路

    在浏览器地址栏敲入url访问静态资源目录时,发现默认跳转到了http协议的地址 如上图所示,客户端https请求先到达API网关,然后网关将请求通过http协议转发到静态资源服务器。 调出浏览器发现客户端发送的https请求收到了一个301状态码的响应,并且响应头中的Location字段便是

    2024年02月15日
    浏览(41)
  • vue3+element-plus 表格全选和跨页勾选,以及全选全部功能

    目录 背景描述 实现效果 详细开发 1.模拟数据和页面布局 2.跨页勾选和点击勾选功能 3.表头全选 4. 全选全部 (1)全选后禁用表格勾选(简单) (2)真正意义上的全选全部(难) 总结 表格的全选、部分勾选、跨页勾选、本页全选,这几个功能,有很多实现的方法,先说如何

    2024年02月07日
    浏览(44)
  • Video标签添加跨域头信息后的缓存问题

    第一步的页面,这个页面有两个 video标签,他们的 src一样 为第video标签添加参数 crossorigin=“anonymous” ,那么会报错。“xxxx” has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. 这里的video.mp4的静态文件服务器,服务端的代码用 express写的,

    2024年02月16日
    浏览(41)
  • 【记录一次前端图片下载问题】解决跨域+直接下载

    近日有个需求需要下载协议照片,使用的是阿里云的oss,由于无法协调后端那边配置跨域响应头,找了很多方案都不理想,终于在摸索下可以实现完美下载 常见方案有两个问题 1.图片格式(png,jpg等)不会触发下载,直接打开预览 2.跨域问题 先捋一下常见方案 方法一、a标签下载

    2024年04月23日
    浏览(36)
  • html5为什么只需要写<!doctype html>? 有多少种Doctype文档类型?

    HTML5只需要写!doctype html是因为HTML5不基于SGML,不需要对DTD进行引用,但仍需要doctype来规范浏览器的行为。而HTML4.01基于SGML,需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。 Doctype文档类型是指用于标识HTML或XML文档类型的声明,它告诉浏览器文档所使用的规范或标

    2024年01月20日
    浏览(82)
  • DOCTYPE 是什么作用?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月13日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包