前言
完成一个web页面需要什么?三大框架?还是web三剑客?现在都不用了,只用url也能实现简单的web页面了。
使用url绘制页面
绘制一个播放器
先来看下面这个url:
data: text/html, <html contenteditable>
直接把他复制进浏览器,发现直接打开了一个可编辑的界面
发送请求
也可以直接写个脚本发送请求
data: text/html, <script>fetch("http://baidu.com")</script>
更多案例
还有很多意思的东西,可以用这种模式完成表格,canvas画条版,甚至html编辑器
更多请看这里
知识点分析
语法分析
其实看到这里来大家应该也看出来了,所谓的生成页面的url,就是data: text/html前缀和一段html代码的组合
其语法格式如下
data:[<mediatype>][;base64],<data>
- data: 表示
Data URL的协议 - mediatype: MIME 类型的字符串,例如
'image/jpeg'表示 JPEG 图像文件。如果被省略,则默认值为text/plain;charset=US-ASCII - base64: 使用base64格式,如果携带该标签,则后面的data内容需要以base64的格式展示
- data: 主体内容,其实也就是页面的html内容
语法限制
- url长度限制,需要考虑浏览器所支持的最大url长度
- 缺乏错误处理,某些问题可能被忽略并没有错误提示(没有找到例子)
- 无法存储数据,无法使用localStorage等方法
- 存在安全隐患,浏览器限制顶级域名跳转至
Data URL
参考资源
developer.mozilla.org/en-US/docs/… lifehacker.com/turn-any-br… taqkarim.medium.com/a-technique…