如何显示本地图像到控制台?

时间:2018-09-13 19:25:14

标签: javascript html css local

我刚刚注意到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>.

这是野生动物园的样子:

im

这可以很好('http://www.personal.psu.edu/users//w/z/wzz5072/mini.jpg');

...,而不是('mini.jpg'); = (/Users/xy/project/mini.jpg)

2 个答案:

答案 0 :(得分:3)

为了安全起见,浏览器不允许这样的本地文件访问。您将需要在localhost上运行的网络服务器,以使其按预期工作。

答案 1 :(得分:1)

您可以使用 Base64 编码的图像。

enter image description here

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);