如何在 Google Chrome 扩展程序中生成可供下载的文件?

2023-11-23

我想生成一个 CSV 文件作为一些用户交互的结果,然后提示用户下载它。我怎样才能做到这一点?

我不认为这在直接的 JS 中是可能的,但也许 Chrome 给了我一些更高的权限?


您现在可以使用 HTML5File API下载文件。它仍在开发中,但您可以使用 BlobBuilder 并重定向您的使用来下载该文件:

var bb = new BlobBuilder();
bb.append(csvContents);
var blob = bb.getBlob(); 
location.href = window.webkitURL.createObjectURL(blob);

有关文件 API 的更多信息,HTML5Rocks 有一个很棒的教程:

http://www.html5rocks.com/tutorials/file/filesystem/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Google Chrome 扩展程序中生成可供下载的文件? 的相关文章

随机推荐

  • 根据属性从 NSArray 创建 NSSet

    一个人如何创建一个NSSet基于属性的数组中的对象 例如对象数组 每个对象都有一个强引用type属性 并且数组中存在每种类型的多次出现 这怎么能变成一个NSSet持有每种类型的单个对象 NSSet distinctSet NSSet set
  • Windows 更新导致 MVC3 和 MVC4 停止工作

    我是唯一一个在 10 月 15 日安装了 Windows Update 8 1 并突然 MVC 由于此警告而停止工作的人吗 警告 1 无法解析此引用 无法找到程序集 System Web Mvc Version 4 0 0 0 Cultur
  • jQuery 访问输入隐藏值

    我怎样才能访问
  • Swift 1.2 无法使用相同的函数名称和不同的参数[重复]

    这个问题在这里已经有答案了 我有两个名称相同但参数不同的函数 第一个接受一个函数作为参数 该函数接受 2 个双精度数并返回 1 第二个接受一个函数作为参数 该函数接受 1 个 double 并返回 1 这在 Swift 1 1 中有效 在
  • Mysql SELECT 里面的 UPDATE

    UPDATE forms SET pos SELECT MIN pos 1 FROM forms WHERE id id 这不起作用 错误消息 You can t specify target table form for update i
  • RSpec 类变量测试

    我正在使用 RSpec 在 gem 中测试类级实例变量 和设置器 我需要测试以下内容 如果从未使用过 setter 则会提供正确的默认值 可以通过设置器成功更新变量 显然这里存在运行顺序问题 如果我使用设置器更改值 我就会忘记默认值是什么
  • 查看不同 Git 分支中的文件而不更改分支

    是否可以在 git 分支中打开文件而不检出该分支 如何 本质上我希望能够打开我的文件github 页面分支 而无需始终切换分支 我不想修改它 只是想查看它 这应该有效 git show branch file Where branch可以是
  • 声明后初始化数组

    为什么声明变量后不能使用数组初始值设定项 例如 int arr arr 1 2 3 4 But int arr 1 2 3 4 是正确的 有没有办法在声明变量后使用数组初始化 这就是你可以做的 int arr arr new int 1 2
  • 检查Javascript是否启用

    有没有办法检查浏览器是否启用或支持Javascript 如果不支持 我想将用户重定向到用户友好的错误页面 我正在使用 jQuery 和 PHP Zend 框架
  • 如何使用 JSP 提供文件服务?

    这听起来可能很愚蠢 但却是现实生活中的一个例子 我能够显示带有 虚拟 链接名称的 HTML 表 像这样的东西 Xyz description a href docId 123 document doc a Xyz description a
  • Web 应用程序的对象存储

    我目前正在开发一个网站 该网站应向用户提供大约 4000 万份文档和图像 我需要关于哪种方法最适合存储符合这些要求的内容的建议 系统应该具有高可用性 可扩展性和耐用性 文件必须永久存储 并且用户应该能够修改它们 由于客户端限制 Amazon
  • gradle-android-scala-plugin 给出“找不到匹配的构造函数”错误

    输入thisAndroid Studio 中的示例代码出现此错误 错误 17 0 找不到匹配的构造函数 org gradle api internal tasks DefaultScalaSourceSet java lang String
  • 在R中使用ggplot2和facet_wrap显示多个轴标签

    我有一个很好的facet wrap密度图 我用它创建的ggplot2 我希望每个面板都有 x 和 y 轴标签 而不是只在左侧有 y 轴标签 在底部有 x 轴标签 我现在拥有的看起来像这样 library ggplot2 myGroups l
  • 减少 Angular 2 文件大小以进行部署

    我是新人 正在尝试 Angular2 我发现 dist 文件夹中的文件非常大 其中有一个由 Angular cli 创建的空项目 这是我采取的步骤 ng 新的我的项目 cd我的项目 ng 构建 prod And all the files
  • Java中聚合和组合的实现差异

    我知道聚合和组合之间的概念差异 有人可以通过例子告诉我它们在Java中的实现差异吗 作品 final class Car private final Engine engine Car EngineSpecs specs engine ne
  • 如何在 WordPress 中删除作者库

    WordPress 中的标准作者链接如下所示 example com author johnsmith 我想删除author URL 的一部分 因此用户名位于根目录中 例如 example com johnsmith 我控制网站上的页面创建
  • Angular 2:类型错误:l_thing0 在 AppComponent@4:44 中的 [{{thing.title}} 中未定义

    我的应用程序中出现奇怪的错误 应该打印出来 thing title 来自对象 但它在控制台中显示错误 EXCEPTION TypeError l thing0 is undefined in thing title in AppCompon
  • 设置 TCP_NODELAY 是否会影响套接字两端的行为?

    我一直假设 Nagle 的算法在两个方向上影响套接字 并且该设置TCP NODELAY以某种方式通知远程端也关闭 Nagle 是这样吗 还是设置TCP NODELAY只影响调用端的行为吗 TCP NODELAY仅影响在其套接字上设置此选项的
  • 从一行字符串列表构建 SQL“where in”语句?

    我有一个 List Of String 它对应于我们数据库表上的 类型 我们正在使用 DB2 ADO NET 提供程序 我的最终查询需要如下所示 select from table where type in type1 type2 typ
  • 如何在 Google Chrome 扩展程序中生成可供下载的文件?

    我想生成一个 CSV 文件作为一些用户交互的结果 然后提示用户下载它 我怎样才能做到这一点 我不认为这在直接的 JS 中是可能的 但也许 Chrome 给了我一些更高的权限 您现在可以使用 HTML5File API下载文件 它仍在开发中