0

有没有办法显示网页的完整 CSS 样式表,除了获取每个元素的每个样式,如下所示:

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

CSS 可以在外部文件中,也可以在内部<style>标签中。

4

2 回答 2

0

您可以使用document.styleSheets

就像在 document.styleSheets[0].cssRules[0].cssText

于 2013-02-13T15:55:30.390 回答
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 遍历 fetch 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) />

这会从文档中获取以“.CS​​S”结尾的链接数组。然后我可以在数组的循环中使用 HTTP 请求再次对这些进行“获取”。然后我可以将它打印到屏幕上,并根据需要对其进行任何处理。

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

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

希望这可以帮助。

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

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

于 2013-02-13T15:57:44.123 回答