我正在尝试使用 javascript 加载一个简单的图像,因为我正在使用以下代码
function loadImage(src) {
var image = new Image;
image.onload = function() {
document.body.appendChild(image);
};
image.onerror = function() {
document.body.appendChild(document.createTextNode('\nError loading as image: ' + this.src));
};
image.src = src;
}
loadImage('http://www.linkedin.com/favicon.ico');
loadImage('http://www.facebook.com/favicon.ico');
我面临的问题是在 chrome 和 firefox 中工作但在 Internet Explorer 中无法工作。我不太习惯使用 javascript。
有什么解决办法吗?
最佳答案
IE 不会将 ICO 图像加载到浏览器中,除非其 contentType 是 image/x-icon
。
我可以通过查看 Firefox 中的网络选项卡确认 LinkedIn 图片的 contentType 是 application/octet-stream
这可以解释为什么 IE 在 Facebook 图片有内容时不显示它IE 喜欢的 image/x-icon
类型。
除了不请求在其服务器上设置了该类型的图像之外,您无法从浏览器中获取任何信息。我很确定像 LinkedIn 这样的网站会有来自该网站的其他小图片,您可以链接到这些图片。
仅供引用,如果您查看主页的 linkedIn 源代码,您会发现一个指向 http://s.c.lnkd.licdn.com/scds/common/u/images/logos/favicons/v1/16x16/favicon.ico 的标签。这在 IE 中工作得很好(因为它是一个 image/x-icon
)。
关于javascript : image is not loading in internet explorer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22217006/