【问题标题】:Javascript parse a page for find hex color values [closed]Javascript解析页面以查找十六进制颜色值[关闭]
【发布时间】:2014-10-20 19:22:07
【问题描述】:

在我的项目中,我需要一个函数来查找网页中的所有十六进制颜色值(如#FFDD600、#999 等)。 过去做同样的事情我使用php类“PHP Simple HTML DOM Parser”,但现在我需要在javascript或jquery中进行#研究。

对于一项研究,我需要对一些注册所用颜色的网站进行分类。

有什么想法吗?

提前致谢

【问题讨论】:

  • 用例是什么?您没有提供太多信息,实际上很少,这使得这是一个质量很差的问题
  • 您是否尝试在页面内容中搜索它?在 HTML 标签内?你自己真的尝试过吗?
  • 我看到您编辑了您的问题,添加了一些非常宝贵的信息。具体点,提供代码,提供示例案例。
  • @almal 从什么中捕捉颜色?如果您甚至无法用几句话来解释您的目标,那么您将得不到任何帮助。您需要让人们了解完整的目标
  • 我在求教,因为我不知道如何移动,我没有代码可以发布,我告诉你我以前在php中做的但不知道javascript中的方法,我不认为这是一个如此笼统的奇怪问题,我只需要知道是否有人可以帮助我建议一种从网页中提取所用颜色的所有可能十六进制值的方法(查找#每个字符,无论任何连接,好像 html 代码是一长串文本)。无论如何,感谢您抽出宝贵时间。

标签: javascript jquery dom hex


【解决方案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>");
        });
    }
});

【讨论】:

  • 我想我不会这么相信。许多颜色来自链接的 CSS 文件,甚至可能来自脚本文件。即使您解析了这些,由于 CSS 的级联特性,如果不完全了解 CSS 的工作原理,您也无法真正分辨出页面上 使用了哪些颜色。您确实需要连接到 HTML 引擎才能使这项工作准确无误。
  • @MikeChristensen 好吧,OP 写道“好像 html 代码是一长串文本”
  • 是的,完全不清楚这里要问什么。他们提到了一个基于 PHP 的 HTML 解析器,它可能会执行与您编写的内容类似的操作。他们还表示,他们的目标是“……对一些注册所用颜色的网站进行编目。” - 如果这是目标,我认为在任何现代网站上运行上面的代码将导致非常不准确的结果,除非所有样式都被内联或其他东西。
猜你喜欢
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
  • 1970-01-01
  • 2013-10-28
  • 2014-06-12
  • 2018-06-18
  • 2012-07-01
  • 1970-01-01
相关资源
最近更新 更多