-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如何理解data URL? #212
Comments
初识data URL
data URL与传统的url有什么区别?现代浏览器将data url视作唯一的不透明来源,而不是负责导航的url。 // data URL
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAADklEQVQYV2NkgAJGGAMAAC0AA03DhRMAAAAASUVORK5CYII=
// 传统的URL
https://www.google.com 由上面的结果可以看出: data URL在浏览器地址栏输入后是怎样的?通常情况下,可以看到这个url代表的图片。 <!DOCTYPE html>
<html lang="en">
<body>
<canvas id="canvas"></canvas>
</body>
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.font = "48px serif";
ctx.fillText("Hello Canvassssssssss", 0, 75 + 24);
var dataURL = canvas.toDataURL();
console.log(dataURL);
</script>
</html> |
data URL语法data URL由哪四部分组成?data:[<mediatype>][;base64],<data>
|
字符串base64编解码的多种语言实现为什么要用base64来表示data URL中的
|
data URL常见问题罗列一些在创建和使用data URL时的常见问题。
其实它代表的是:
语法data URL的格式非常简单,很容易忘记在data前面添加一个逗号,或者是错误的将数据编码为base64格式。 HTML中的格式data URL在文件中提供了一个文件,这个文件相对于闭文档的宽度可能非常宽。 长度限制尽管firefox支持无现场的data URL长度,但是浏览器不需要支持任何最大特定长度的数据。例如Opera 11浏览器将URL的长度限制到65535,data URL限制到65529(65529指的是base64 encoded后的 主流浏览器data URL长度限制
引自:Data protocol URL size limitations 异常处理的缺失media的无效参数,或者‘base64’排版错误,都会被忽略,但是不会报错出来。 不支持字符串查询data URL的数据部分是不透明的,所以如果使用query string(比如 安全问题许多安全问题(如网络钓鱼)都与data url相关,并在浏览器的顶层导航到它们。 |
canvas有一个非常常用的方法canvas.toDataURL(),它会将canvas转化为data URL的格式。
通常情况下这个data URL的类型为image。
看看下面的例子:
那么这个以
data:[MIME type];base64,
开头的data URL到底是什么东西呢?[<mediatype>]
详情[;base64]
和<data>
详情The text was updated successfully, but these errors were encountered: