2013-02-13 71 views
0

有没有什么办法来显示网页的完整的CSS样式表,不是取每一个风格类似这样的每一个元素其他:如何显示网页的样式表

document.write("width:"+document.getElementById("to").style.width+";"); 

的CSS可以在外部文件或<style>标记。

+1

你需要这个调试或为某种类型的出口?如果仅用于调试,则可以在任何良好的调试控制台(例如Chrome,FF)中查看应用和计算的任何元素的样式。 – Yoshi 2013-02-13 15:47:42

+0

我正在构建一个CSS生成器(边框半径,triangles..etc),我需要显示生成的元素,很多div的样式表。 – 2013-02-13 15:49:39

+0

好吧,所以,如果你的代码生成的CSS,为什么不使用它? – Yoshi 2013-02-13 15:50:59

回答

0

这将是最好使用可以 '取' 的CSS文件的服务器端语言和打印它们。

过去我使用Railo和一个名为jSoup的Java库很容易做到这一点。这不是一个非常流行的设置,但是jSoup可以和Java一起使用(当然),所以如果你在你的web应用中使用它,那么它会很轻松。

我取回我的Railo页是这样的:

<cfhttp method="get" url="http://example.com" resolveurl="true" result="local.objGet" timeout="10" charset="utf-8"> 
<cfhttpparam type="header" name="Accept-Encoding" value="*" /> 
<cfhttpparam type="header" name="TE" value="deflate;q=0" />   
</cfhttp> 

这上面的代码使一个HTTP请求来获取HTML页面。

然后我用jSoup遍历获取CSS文件链接的DOM:

<cfset local.jsoup = createObject("java", "org.jsoup.Jsoup") /> 
<cfset local.getDocument = local.jsoup.parse(local.objGet.filecontent) /> 
<cfset local.getCss = reMatch('\bhttps?:[^)''"]+\.(?:css)', local.getDocument) /> 

这得到的,在可以从文件.CSS“结束链接的数组。然后我可以在数组的一个循环中使用HTTP请求对它们进行“提取”。然后,我可以将其打印到屏幕上,并根据需要进行任何操作。

我知道我的答案是语言特定的,但基本原则在那里。

在PHP中,我认为你可以使用cURL进行HTTP调用,但如果你使用的是Java,ColdFusion,Railo或BlueDragon,你应该可以使用jSoup。

希望这会有所帮助。

Railo应用服务器: http://www.getrailo.org/

jSoup HTML解析器: http://jsoup.org/