2014-10-20 60 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