我刚刚注意到javascript with css
使在开发者控制台中显示不同的样式成为可能。当然,这也使得在控制台中显示图像成为可能。
由于我可以很好地在项目中使用此功能,因此我想直接尝试一下。没有成功。
使用下面的代码(我在这篇文章中获得的https://stackoverflow.com/a/26286167)可以输出带有“ URL”的图像(即在线图像)。
但是对于本地图像,到目前为止,它不适用于Safari。
有人知道为什么它不适用于本地图像,而不能用于URL吗?有人知道一种解决方法仍然可以在控制台中显示本地图像吗?
注意:请打开下面的代码段的浏览器控制台 :(或在此处找到:https://jsfiddle.net/7wbnsp9u/3/)
(function(url) {
var image = new Image();
image.onload = function() {
console.log('%c', [
'font-size: 1px;',
'line-height: ' + this.height + 'px;',
'padding: ' + this.height * .5 + 'px ' + this.width * .5 + 'px;',
'background-size: ' + this.width + 'px ' + this.height + 'px;',
'background: url(' + url + ');'
].join(' '));
};
image.src = url;
})('http://www.personal.psu.edu/users//w/z/wzz5072/mini.jpg');
> Please open your <b>developer console</b>.
这是野生动物园的样子:
这可以很好:('http://www.personal.psu.edu/users//w/z/wzz5072/mini.jpg');
...,而不是:('mini.jpg');
= (/Users/xy/project/mini.jpg)
答案 0 :(得分:3)
为了安全起见,浏览器不允许这样的本地文件访问。您将需要在localhost上运行的网络服务器,以使其按预期工作。
答案 1 :(得分:1)
您可以使用 Base64 编码的图像。
var º = "%c";
var consoleNormal = "font-family: sans-serif";
var consoleBold = "font-family: sans-serif;" +
"font-weight: bold";
var consoleCode = "background: #EEEEF6;" +
"border: 1px solid #B2B0C1;" +
"border-radius: 7px;" +
"padding: 2px 8px 3px;" +
"color: #5F5F5F;" +
"line-height: 22px;" +
"box-shadow: 0px 0px 1px 1px rgba(178,176,193,0.3)";
var consoleBackground = "background-image: url('data:image/png;base64,iVBO" +
"Rw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQ" +
"VQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAA" +
"BJRU5ErkJggg==')";
console.info(º+"Example: Normal", consoleNormal);
console.info(º+"Example: Bold", consoleBold);
console.info(º+"Example: Code", consoleCode);
console.info(º+"Example: Background", consoleBackground);