为什么可以';我是否从Javascript将图像源设置为blob?

为什么可以';我是否从Javascript将图像源设置为blob?,javascript,jquery,html,image,blob,Javascript,Jquery,Html,Image,Blob,我正在尝试使用Javascript LoadImage库()从文件加载图像 load方法返回一个图像对象,其src设置为某个blob对象: 如果我将这个元素附加到DOM中,它会很好地显示出来。但是,出于我的需要,我只需要图像数据,而不是DOM对象。我需要获取该数据并将另一个现有元素的src设置为该值。因此,就像任何正常人都会做的那样,我获取返回对象的src(blob:http%3A//localhost%3A3577/902d4e78-2e3e-467c-99ce-6683db24996e),

我正在尝试使用Javascript LoadImage库()从文件加载图像

load方法返回一个图像对象,其
src
设置为某个blob对象:

如果我将这个元素附加到DOM中,它会很好地显示出来。但是,出于我的需要,我只需要图像数据,而不是DOM对象。我需要获取该数据并将另一个现有元素的
src
设置为该值。因此,就像任何正常人都会做的那样,我获取返回对象的
src
blob:http%3A//localhost%3A3577/902d4e78-2e3e-467c-99ce-6683db24996e
),获取对现有图像DOM对象的引用(以下名为
img
),并使用jQuery设置其src:

img.attr('src',src)

这将导致现有图像对象变为:

是的,完全相同(除了显式的
width
height
属性,我也尝试添加了这些属性,但它们完全没有改变)。但我的现有标记现在显示的不是图像,而是一个损坏的图像:


当图像标记具有相同的
src
时,一个可以显示图像,另一个不能显示图像的原因是什么?

这很可能是由于LoadImage库调用
URL.revokeObjectURL()
,以释放分配的图像


尝试使用
noRevoke
选项。

@Malk它说blob不能在计算机/网络/浏览器等之间共享,这是显而易见的。但是,我的例子是同一个窗口中的两个DOM元素。第二个DOM元素与第一个DOM元素是否完全相同?也就是说,你是想在页面加载时携带blob还是什么?@Dashwuff正如我在问题中明确指出的那样,我在同一个DOM中,它们甚至在同一个脚本块中执行。没有页面加载等。就是这样。默认值为
false
,让用户误以为URL是可重用的。