javascript - 如何从网站获取苹果触摸图标,如果不存在则显示图标?

标签 javascript jquery

我想从网站上获取 Apple Touch 图标(据我了解,大多数网站的图标都存储在 website.com/apple-touch-icon.png),如果出现 404 或者图像不存在,则使用 Google favicon 抓取器 (https://plus.google.com/_/favicon?domain_url=google.com)显示网站的图标。

用 js/jquery 可以吗?

最佳答案

您可以将图像的 url 设置为触摸图标 url,然后使用 onerror 事件将其更改为 favicon url。

function getImage(url) {
    image.src = url + "/apple-touch-icon.png";
    image.onerror = function() {
        image.src = "https://plus.google.com/_/favicon?domain_url=" + url;
    }
}

Demo (记得在输入框中的网址前加上http://)

但是,某些网站使用“apple-touch-icon.png”以外的网址,因此您可能需要使用多个错误函数以便始终获取 Apple touch 图标。

此外,某些网站(例如 google)会为不存在的图像返回 1px x 1px 图像,这意味着这不起作用。

关于javascript - 如何从网站获取苹果触摸图标,如果不存在则显示图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29111264/

相关文章:

javascript - jquery slideup和向下多个div

javascript - 如何访问异步函数node js中所有函数和条件中的变量?

javascript - 添加类jquery循环

jquery - 管理复杂的 ScrollMagic 代码

javascript - 如何在我的编辑器中使用灰色/棕褐色裁剪图像。?

javascript - 生成页面后将 target _blank 添加到链接

javascript - 如何以 300 dpi 分辨率打印 html 页面

javascript - d3.js:从时间尺度获取刻度格式

javascript - 在 Javascript 中动态设置 CSS 背景

javascript - Framework7如何使消息自动向下滚动?