获取网站的主要颜色

时间:2015-10-20 17:01:36

标签: javascript php html css

我将自己的开始/书签页作为业余爱好项目。

我想以干净的方式整理书签。我喜欢Apple通过请求元应用程序图标来完成此操作的方式,因此我创建了一个JavaScript / Ajax / PHP函数来完成这项工作。

enter image description here

然而,当一个网站没有应用程序图标时,我想知道网站使用哪种主要颜色,就像你在这里看到的那样

Safari上的苹果书签(背景有网站主色)

chrome书签(底部的边框栏有网站的主色)

我搜索了JavaScript函数。没找到,这意味着我必须自己制作一个。我认为可以通过索引网站的多个html标签(如标题,标签,按钮等)来完成。

这些元素的共同颜色应该是网站的主色。

你们有任何关于如何实现这一目标的其他想法或建议吗?

1 个答案:

答案 0 :(得分:2)

我不知道Apple是如何做到这一点的,但如果他们为Facebook和Gmail等知名网站使用预设颜色会有意义。

我不确定如果我正在做的建议将有助于确定网站'主要颜色,但你可以(粗略地)做的是:

  • 获取网站HTML。
  • 抓取css链接&样式标签。通过从响应中创建DOM结构或使用解析器/正则表达式来查找它。
  • 解析css并寻找您感兴趣的元素(您认为会包含其主要颜色的元素)
  • 计算所选元素中不同颜色的匹配数量

或者,您也可以在您已获取的页面上的<style>标记中内嵌css并将其放入DOM中,以通过访问someEl.style.background或其他任何内容来确定颜色。

这两个解决方案看起来都很糟糕,而且我不确定javascript的工作。也许你的服务器应该处理这个问题,或者使用理智的默认设置(例如Facebook的蓝色,YouTube的红色等)就足够了。