保留 data:text URI 中的换行符

2023-12-08

我的扩展程序中有一个按钮可以触发以下代码:

chrome.tabs.create({url: 'data:text;base64,'+btoa(data), active:false});

正如我所料,这会触发我的字符串(数据)的下载。不幸的是,它似乎正在删除换行符。

我尝试过其他编码方法,包括 utf-8 和encodeUri()功能。我也尝试将 mimetype 切换为data:text/plain,但这只是在新选项卡中打开(带有正确的换行符)而不是下载。

有没有办法对我的文本进行编码以便保留换行符?如果没有,是否有其他方法在浏览器中触发文件下载?

edit

我发现换行符确实出现在某些文本编辑器中。以前,我使用记事本,它无法识别 chrome 中的换行符,但我的其他文本编辑器(notepad++)似乎可以识别它们


我推荐的解决方案是不要使用记事本,因为它无法识别非 Windows 行格式。如果您仍然希望能够使用记事本进行输出,replace所有换行符(0x0A) 带有回车+换行对 (0x0D 0x0A).

chrome.tabs.create({
    url: 'data:text;base64,' + btoa(data.replace(/\n/g, '\r\n')),
    active: false
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保留 data:text URI 中的换行符 的相关文章

  • Webpack 编译的 Chrome 扩展抛出 `unsafe-eval` 错误

    使用 Webpack 编译后重新加载 Chrome 扩展时出现此错误 Uncaught EvalError Refused to evaluate a string as JavaScript because unsafe eval is
  • Javascript:自动点击按钮?

    我正在学习如何编写 chrome 扩展 而且我对 javascript 还很陌生 这是一些 html div class button data a class button1 whiteColor href http link1 com
  • chrome扩展需要从服务器端离线访问

    我正在构建一个 chrome 扩展 我用了chrome identity getAuthToken获取access token 这为我提供了客户端 浏览器 的access token 现在我想将此 access token 传递到我的服务器
  • 使用 chrome 扩展和 Django 进行身份验证

    对于那些熟悉 django 和 chrome 扩展的人 如何使用 cookie 进行身份验证 以便当您登录 django 制作的网站时 您的 chrome 扩展程序也会登录并激活 谢谢 您的 Chrome 扩展程序 通过 Javascrip
  • 将 Chrome 扩展上的权限移至可选

    我了解到 Chrome 在添加新权限时会禁用扩展程序 当我向扩展添加新功能时 我需要在permissions列表 现在我知道我应该使用optional permissions 我的问题是 如果我将网站列表从permissions to op
  • Chrome 扩展程序可以相互通信吗?

    我正在编写一个Chrome扩展程序 并且想要实现一个接口或api 以便我将来制作的其他扩展程序可以使用它 最终的效果可能如下 分机 B 呼叫extensionA someMethod someParameters 并向分机A发送一些数据 分
  • sendResponse 不等待异步函数或 Promise 的解析[重复]

    这个问题在这里已经有答案了 我遇到了异步问题 我相信 sendResponse in 内容脚本 js不等待getThumbnails 回来 我正在发送一个message in popup js chrome tabs sendMessage
  • 获取特定选项卡的 URL?

    在 Google Chrome 中 如何获取特定选项卡上显示的页面的 URL 这取决于你如何定义特定选项卡 有许多功能可以获取选项卡 从而返回一个选项卡选项卡对象 http code google com chrome extensions
  • 从 Chrome 扩展中访问响应负载/数据

    我正在开发一个项目 需要跟踪来自某些站点的 ajax 请求 访问其中一些请求的响应负载并对其采取行动 到目前为止 我设法使用以下命令跟踪请求并访问它们的标头网络请求 API http developer chrome com extensi
  • Chrome 扩展 - 消息传递到批处理文件

    我使用了示例项目https developer chrome com extensions samples https developer chrome com extensions samples我能够运行 python 本机应用程序 有
  • 如何为 pageAction 添加点击?

    第一次延期 请友善 我的目标是在用户访问来自特定域的页面时提供一个选项 以提供启动另一个页面的选项 该页面使用所访问页面的域名的一部分作为变量 下面的代码执行了我想要的操作 但它没有提供该操作作为选项 它只是执行 当访问与域匹配的页面时 它
  • 如何解析从java文件中读取的unicode [重复]

    这个问题在这里已经有答案了 我编写了一个包含以下内容的文本文件 u0032 u0142o u017Cy u0142 然后我使用 FileReader 和 BufferedReader 来读取文件 public static void mai
  • 如何根据本地存储中的另一个数据响应推迟 XMLHttpRequest [重复]

    这个问题在这里已经有答案了 function to download pps compress txt from cloud server for global parameter set PPs function get pps para
  • 如何从 Outlook 的“收件人”字段中提取电子邮件地址?

    我在某种程度上一直在使用 VBA 使用以下代码 Sub ExtractEmail Dim OlApp As Outlook Application Dim Mailobject As Object Dim Email As String D
  • 该文件正在被另一个进程使用,我必须关闭它吗?如何?

    我正在使用一个文本文件来保存一些数据以供以后使用 所以我所做的就是检查文件是否存在 如果不存在 我会在需要时创建一个新文件 这给了我错误 说我的文件仍在被不同的进程使用 但我不确定为什么会这样 我就是这样做的 在这里 我正在检查程序运行时启
  • Chrome 扩展程序中的后台脚本到底何时运行?

    在我的 chrome 扩展中 我有一个后台脚本 它将使用XMLHttpRequest note that this code is in the global scope i e outside of any function also n
  • Google 文档 - 以编程方式将鼠标点击发送到大纲窗格中的项目

    在 Google 文档中 您可以打开大纲窗格并查看文档中的所有标题 您也可以单击标题 视图将滚动到标题 我的问题是如何使用 Chrome 扩展中的 JS 以编程方式模拟鼠标单击 以将视图滚动到所需的标题 我尝试了以下代码 但没有任何反应 u
  • 使用php将文本文件转换为xml?

    data txt ha15rs 250 home2 gif 2 ha36gs 150 home3 gif 1 ha27se 300 home4 gif 4 ha4678 200 home5 gif 5 我想使用 php 使用 simplex
  • 如何为 Gmail 开发 Chrome 扩展程序?

    我正在考虑为 Gmail 开发 Chrome 扩展程序 我想知道当前的最佳实践是什么 例如 默认情况下为每封电子邮件附加 GPG 签名 添加一个额外的按钮来执行某些操作 我已经有了 发送电子邮件并提示我完成某些操作的劫持操作 只是这些例子帮
  • 通过 chrome 扩展连接到 MetaMask

    我正在制作一个需要 MetaMask 身份验证的 Chrome 扩展 我开始将其开发为 Web 应用程序 但作为 Chrome 扩展 它无法检测 MetaMask 这是我现在的网络应用程序代码 function toggleButton c

随机推荐

  • Java中带时间戳的数字签名

    我在使用可信时间戳通过 Bouncy Castle 创建有效的 CMS 签名时遇到问题 签名创建效果很好 我想将签名包含到 PDF 文件中 签名有效 但是 在我将可信时间戳添加到签名的未签名属性表中后 签名仍然有效 但读者报告说签名包含嵌入
  • R中的实时自动递增ggplot

    这个线程回答如何在 R 中创建具有实时效果的增量图 我想做同样的事情ggplot2而不是 R 的碱基plot 直接从该链接中的答案复制 我尝试了这个 但它不起作用 n 1000 df data frame time 1 n y runif
  • 工作单元中的多个通用存储库?

    假设我有 2 张桌子 ProductCategory and Product 我有 1 个可以处理两个表的通用存储库 public class GenericRepository
  • 具有不同边缘值的 Networkx Spring 布局

    我是 Networkx 的新手 试图弄清楚如何使用 spring 布局 但在节点之间应用不同的边缘值 即节点之间的不同距离 而不是相同的边缘值 本质上 我想要一个图表 尝试维持一组预定义的节点到节点距离 可能使用弹簧布局来找到一些局部最小值
  • 在vba中获取2个日期之间的所有日期

    我是 vba 的新手 我试图获取 2 个日期之间的所有日期 例如我将使用参数 01 01 2015 和 15 01 2015 调用该函数 并且我将返回一个数组包含所有可能的日期 即 01 01 2015 02 01 2015 03 01 2
  • 有没有办法确定顶部的像素?

    我需要更多的解释 但欢迎举例 我试图做到这一点 以便当我向下滚动时 屏幕上的特定元素会在滚动时淡入 唯一的问题是我需要一种方法来使用提供的代码 或更好的方法 来确定元素距离顶部有多远 有没有一种不同的方法可以使滚动效果发挥作用 而不必将其基
  • 如何使用 C# 和 ClosedXML 将新行追加到 Excel 文件?

    我应该向现有 Excel 文件追加一个新行 任务由两部分组成 添加到不存在的文件 效果很好 添加到现有文件 不起作用 它不会创建新记录 仅显示 else 正文中的旧记录 这是我的代码 private static void ExportTo
  • .htaccess URL 重写问题(脚本无法加载)

    我遇到 htaccess 中的 URL 重写问题 这是我的重写代码 RewriteEngine on RewriteBase RewriteRule terms terms php L nc RewriteRule formgate a z
  • 右键单击量角器

    我正在尝试使用量角器右键单击一个元素 该元素是农业网格中的一个单元格 我正在尝试使用我能找到的一些早期建议 唯一没有给我带来错误的建议如下 browser actions mouseMove elementVar perform brows
  • iframe 中的后退按钮(类似 iGoogle 的门户小部件)

    我正在尝试创建一个小部件 基本上是一个 iframe 它有自己的后退和前进按钮 也就是说 当我点击小部件后退按钮时 只有 iframe 返回 而不是整个小部件容器 类似 iGoogle 的门户 我添加了以下链接 a class button
  • 在扩展器中更新 Knockout js Observable 时如何保留光标位置

    目标是在用户输入时将其转换为大写 我正在使用以下扩展器 ko extenders uppercase function target option target subscribe function newValue target newV
  • Ninject UnitOf Work 混乱

    我一直在 MVC 3 应用程序中使用 Ninject 但我正在尝试更改数据对象的模式以使用 UnitOfWork 但我无法弄清楚如何让 Ninject 正确处理此问题 我知道当我在控制台应用程序中手动构建类时 我的类实现会起作用 IData
  • 删除按钮的边框

    我尝试创建按钮并插入我自己的图像而不是标准按钮图像 但是 标准按钮的灰色边框仍然保留 显示在我的黑色按钮图像的外部 有谁知道如何从按钮上删除这个灰色边框 所以它只是图像本身 谢谢 Add padding 0 border none back
  • 允许在 Google Apps 脚本上上传多个文件

    Question 如何更改此脚本以允许上传多个文件甚至大于 5 MB 的文件 当前脚本
  • 错误:未知使用没有大小后缀的指令助记符

    这里是完整的源代码 void asmFunction unsigned char threshold 16 initArray threshold 75 128 16 unsigned char counterC2 16 initArray
  • 来自 stdin 的 fgets 问题 [C]

    我正在编写一个处理文件的程序 我需要能够将数据作为结构输入 并最终将其读出 我目前遇到的问题是这段代码 typedef struct char name employeeRecord employeeRecord record char n
  • python:将二维字符串列表转换为浮点数

    我有一个字符串类型的二维列表 我正在尝试将其转换为 int 到目前为止我尝试过的事情 float i for i in lst j for j in lst 用 for 循环 for i in range len lst for j in
  • 将 YUV420SP 转换为 YUV420P

    如何使用 ffmpeg sws scale 或其他有效方法将 YUV420SP 转换为 YUV420P 如果您使用 ffmpeg 中的 swscale lib 以下代码可能会对您有所帮助 static struct SwsContext s
  • x86 程序集中的.data 部分

    我正在尝试学习汇编语言 但无法理解通过 data 部分声明全局变量的概念 当您在 data 部分声明变量时 汇编器 链接器会将其映射到内存位置 但它如何知道编译源代码时可用的空闲内存 如果内存分配是在运行时完成的 那么程序如何知道在哪里分配
  • 保留 data:text URI 中的换行符

    我的扩展程序中有一个按钮可以触发以下代码 chrome tabs create url data text base64 btoa data active false 正如我所料 这会触发我的字符串 数据 的下载 不幸的是 它似乎正在删除换