我想知道使用样式作为Blob链接有什么好处和区别:
超过标准标签:
我的意思是Blob创建如下:
var blob = new Blob([css_here],{type: 'text/css'});
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = window.URL.createObjectURL(blob);
head.appendChild(link);
提前致谢.
最佳答案
>内存管理
如果你把东西当作样式,然后删除 – 它已经消失了.
但是,如果你把东西作为blob url然后删除 – 你仍然将blob url存储在内存中,它应该手动释放.
请参阅此处的注释:https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL#Notes
>相对路径分辨率
使用样式内部的所有相对URL都是透明地解析的(例如@ font-face {src:url(‘/ assets / font.ttf’);}.
但是对于blob,那些相对url被视为相对于blob url本身(即相对于blob:http:// domain / some-hash).
因此,相对网址将在这种情况下有效地停止工作.