数据URI的特征

甲数据-URI与MIME类型text/html必须是在其中一种格式:

data:text/html,

data:text/html;charset=UTF-8,

不需要Base-64编码。如果您的代码包含非ASCII字符,例如éé,charset=UTF-8则必须添加。

以下字符必须转义:

#-Firefox和Opera将这个字符解释为哈希标记(如所示location.hash)。

%-此字符用于转义字符。转义此字符以确保没有副作用发生。

此外,如果要将代码嵌入锚标记中,还应转义以下字符:

" and/or ' -用引号标记属性的值。

& -与符号用于标记HTML实体。

也没有进行转义一个HTML属性中。但是,如果您要将链接嵌入HTML,则也应将其转义(%3C and %3E)

JavaScript实现

如果您不介意data-URI的大小,最简单的方法是使用encodeURIComponent:

var html = document.getElementById("html").innerHTML;

var dataURI = 'data:text/html,' + encodeURIComponent(html);

如果大小很重要,则最好去除所有连续的空格(除非HTML包含

element / style,否则可以安全地做到这一点)。然后,仅替换有效字符:

var html = document.getElementById("html").innerHTML;

html = html.replace(/\s{2,}/g, '')   //

.replace(/%/g, '%25')     //

.replace(/&/g, '%26')     //

.replace(/#/g, '%23')     //

.replace(/"/g, '%22')     //

.replace(/'/g, '%27');    //

var dataURI = 'data:text/html;charset=UTF-8,' + html;

%3c %3e 转换html,使用JavaScript将HTML转换为data:text / html链接相关推荐

  1. java%3c%3e符号,有趣的 JavaScript 格式转换

    之前做文件上传和 canvas 修图时接触到几个格式,这里打算整理一下他们的关系 Blob 使用 input 获取文件时,你拿到的就是 file 对象,而 file 继承于 blob,所以直接讲比较陌 ...

  2. %3c %3e 转换html,防止基本的XSS攻击 滤掉HTML标签

    /** *防止基本的XSS攻击 滤掉HTML标签 *将HTML的特殊字符转换为了HTML实体htmlentities *将#和%转换为他们对应的实体符号 *加上了$length参数来限制提交的数据的最 ...

  3. Angular Component TypeScript代码和最后转换生成的JavaScript代码比较

    TypeScript代码使用@Component定义一个Component: @Component({selector: 'app-shipping',templateUrl: './shipping ...

  4. 十六进制转换html,如何使用JavaScript将十进制转换为十六进制?

    JavaScript中有很多内置函数可以帮我们进行数(进)制转换.那么给定一个十进制数字,如何将数字从十进制转换为十六进制?下面本篇文章就来给大家介绍一个使用JavaScript将十进制转换为十六进制 ...

  5. html把毫秒转换成年月日,如何使用JavaScript将毫秒转换为日期格式?

    给定一串毫秒数,如何使用JavaScript将它们转换为日期格式?下面本篇文章就来给大家介绍一下使用JavaScript将毫秒转换为日期格式的方法,希望对大家有所帮助. 方法1: ● 首先声明变量ti ...

  6. 将JavaScript字符串全部转换为小写吗?

    如何将JavaScript字符串值转换为所有小写字母? 示例:从"您的名字"到"您的名字" #1楼 请注意,该功能仅适用于STRING对象. 例如,我正在使用一 ...

  7. 如何在JavaScript中将浮点数转换为整数?

    我想在JavaScript中将浮点数转换为整数. 实际上,我想知道如何同时进行标准转换:截断和舍入. 而且有效,而不是通过转换为字符串和解析. #1楼 按位或运算符 可以使用按位或运算符截断浮点数,它 ...

  8. 编码 data:text/html;c,javascript中Data URI使用详解

    Data URI,不是URL URL是uniform resource locator的缩写,在web中的每一个可访问资源都有一个URL地址,例如图片,HTML文件,js文件以及style sheet ...

  9. unicode怎么转换成html,Vue将Unicode转换为HTML标记

    我打电话给一个API,它返回一个Unicode字符串,如下所示.Vue将Unicode转换为HTML标记 当我在视图中输出它时,它不会自动将这些字符转换为HTML进行渲染,但我认为Vue会将它视为字符 ...

最新文章

  1. JDK 13 新特性一览
  2. exchange2003防垃圾邮件设置
  3. Python下使用subprocess中文乱码的解决方案
  4. HDU1237 简单计算器
  5. poj 1201 差分约束
  6. 信息学奥赛一本通 1101:不定方程求解 | OpenJudge NOI 2.1 7650 | 小学奥数 7650
  7. CSS样式表书写位置
  8. AMD优势: 与众不同 选择丰富
  9. Java、Python网页项目,纯前端项目,无后端参考代码,谨慎下载,全网可视性超强Web项目,免费源码,Js、Html、Css组合网页,可衔接数据库,数据可自行修改,可使用SSM、SpringBoo
  10. 观察:家乡的、身边的真实互联网
  11. OSError: [WinError 123] 文件名、目录名或卷标语法不正确。
  12. fir.im Weekly - 揭秘直播移动 APP 技术实现
  13. VS中*.clw *.ncb *.opt *.aps这些文件是做什么用的?
  14. 软件测试需要学什么课程?好学吗?
  15. 串口的空闲中断+DMA接收(附F4代码)
  16. TF-IDF的原理概述
  17. BLE广播包4种类型
  18. 俄大神 lopatkin Windows 精简优化系统 - 工具软件
  19. 论文阅读(6)用集合深度学习方法在皮肤镜图像中进行皮肤病变分割
  20. Colab使用经验总结(踩坑经验)------小白注意!

热门文章

  1. python 的代码格式_python代码格式
  2. 没有软件测试经验的计算机毕业生如何准备面试测试工程师这一职位?
  3. “十步一杀” 消压力于无形
  4. 2023大数据、互联网与教育技术国际学术会议(ICBDIET 2023)
  5. 【Gin框架一】Gin简介
  6. 网站换服务器内页301永久定向,网站内页301重定向
  7. 《公共政策学》重点整理
  8. Dart编程语言从基础到进阶3
  9. JavaEE企业级开发
  10. 推荐一个3D台球游戏