Javascript Chrome开发工具的速度很慢,因为I';m使用数据:背景图像中的图像
我正在制作一个Chrome扩展,它取代了新的标签页,从localStorage中快速加载图像的数据,但是打开Chrome开发工具的Elements标签需要2-3分钟。我想这是因为我使用了数据:像这样的身体背景样式中的图像Javascript Chrome开发工具的速度很慢,因为I';m使用数据:背景图像中的图像,javascript,jquery,css,google-chrome,Javascript,Jquery,Css,Google Chrome,我正在制作一个Chrome扩展,它取代了新的标签页,从localStorage中快速加载图像的数据,但是打开Chrome开发工具的Elements标签需要2-3分钟。我想这是因为我使用了数据:像这样的身体背景样式中的图像 <body style="background-image: url(data:image/jpeg;base64, ...)"> …加载约40000个字符需要很长时间 有没有更好的方法在localStorage中设置图像数据,或者用javascript/jQ
<body style="background-image: url(data:image/jpeg;base64, ...)">
…加载约40000个字符需要很长时间
有没有更好的方法在localStorage中设置图像数据,或者用javascript/jQuery显示图像数据
(我不能使用URL,因为它用于加载随机图像)在apsillers提出这个想法之后,我将base64数据转换为一个更短的URL,用作背景图像 以下是我采取的步骤:
var b64Data = imageData.replace(/^data:image\/jpeg;base64,/, '');
$('body').css('background-image', 'url(' + blobUrl + ')';
现在谷歌开发工具恢复正常运行,图像数据缺少数千个字符。为什么不能使用该网站的URL?像
?很抱歉忘了提及扩展将随机图像保存为当天使用的一个图像。想法:将base64localStorage
字符串放入一个Blob中,per(注意:您需要去掉前面的URL内容;您只需要base64数据)。然后,获取一个引用Blob的短URL,并将该URL放在HTML中。以前从未使用过Blob,但它是成功的!我仍然在localStorage中使用b64数据,因为据我研究,Blob只在每个文档中使用,因此在刷新页面时会被删除,如果我想将图像保留24小时,这是不好的。谢谢“我不能使用URL,因为它正在使用unsplash.it加载随机图像”-这不是理由。无论如何,你必须选择随机图像,然后你应该能够将它复制到你的服务器上,并给出它的URL……可惜Chrome不支持
$('body').css('background-image', 'url(' + blobUrl + ')';