答案 0 :(得分:4)
URI是URL的超集。所有URL都是URI,但有些URI不是URL。 This answer has the proper definitions。正如你可以通过阅读它们所推测的那样,这是一个依赖于背景的灰色区域。
至于您的具体问题,getDataUrl()
会返回一个URI。它不是URL,因为它实际上并未包含有关如何在外部定位资源的任何信息。 该功能未正确命名,因为MDN link反映。
但是,这个信息是隐含的:因为数据blob存在于URI本身内部,所以只有一个地方可以找到它。 所以你可以争辩说,当你从你的茶中啜饮并调整你的单片眼镜时,它是一个URL,因为不需要进一步澄清协议,架构或位置。< / p>
换句话说,这很容易解释。我不会太在意它。
答案 1 :(得分:1)
我认为你的困惑来自于这个
HTMLCanvasElement.toDataURL()方法返回一个数据URI,其中包含由type参数指定的格式的图像表示(默认为PNG)。返回的图像分辨率为96 dpi。
注意使用toDataURL
和调用值的文档作为数据URI。归结起来,获取数据 URI 的canvas元素的方法名称称为 toDataURL 。
由于URL必须指定数据的位置,或者换句话说,访问它的方式(想想http:// https:// etc),它可能不适合{的返回值{1}}因此文档正确地将返回的值称为数据URI。为什么他们决定命名方法HTMLCanvas.toDataURL()
我不能说,除了两者之间的差异是微妙的,他们可能觉得如果他们称之为toDataURL