2014-10-20 44 views
-3

在我的项目中,我需要一个函数来查找网页中的所有十六进制颜色值(如#FFDD600,#999等)。 在过去做同样的事情我使用PHP类“PHP简单的DOM DOM分析器”,但现在我需要#研究是在JavaScript或jQuery中进行。Javascript解析页面寻找十六进制颜色值

对于一项研究,我需要登录一些网站注册使用的颜色。

有什么想法?

在此先感谢

+1

什么是用例?你没有提供太多的信息,实际上很少,使这是一个质量很差的问题 – charlietfl 2014-10-20 19:28:26

+0

你想在一个页面的内容中搜索它吗?在HTML标签内?你真的尝试过什么吗? – EvilZebra 2014-10-20 19:34:54

+1

我看到你编辑了你的问题,添加了一些非常宝贵的信息。具体来说,提供代码,提供示例。 – EvilZebra 2014-10-20 19:38:21

回答

1

这将获取的URL和解析它作为文本的所有十六进制值,并把它们放到当前页面的身体。

您可以点击此处查看:JSFiddle

虽然将会有所受限,因跨域政策。

$.ajax({ 
    url: ENTER_URL_HERE, 
    success: function (data) { 
     var hexCodes = $("html").html().match(/#[a-fA-F0-9]{6}|#[a-fA-F0-9]{3}/g); 
     $("body").html(""); 
     $.each(hexCodes, function() { 
      $("body").append("<p>" + this + "</p>"); 
     }); 
    } 
}); 
+0

我不认为我会信任这么多。很多颜色来自链接的CSS文件,甚至可能是脚本文件。即使你解析了这些,由于CSS的层叠特性,你不能完全理解CSS的工作原理,不能真正知道在页面上使用了哪些颜色*。你真的需要挂钩到一个HTML引擎来使这个工作准确。 – 2014-10-20 20:04:39

+0

@MikeChristensen好吧,OP写道“好像html代码是一长串文字” – 2014-10-20 20:12:58

+0

是的,这里完全不清楚这里提到的是什么。他们提到了一个基于PHP的HTML解析器,它可能会做类似于你写的东西。他们还表示他们的目标是“......为登记使用颜色的网站编目”。 - 如果这就是目标,我认为在任何*现代网站上运行上面的代码都会导致大量不准确的结果,除非所有样式都内联或者其他东西。 – 2014-10-20 20:15:42