如何提取显示一个html文档所有的标签,id值,class值

如何提取显示一个html文档所有的标签,id值,class值,第1张

用jquery的一种解决方法:例子如下:

testhtml:(注意,这里任何html页面都可以用,我只是在这里面加了个div

<div id='gettag'></div>,用来显示信息。jqueryjs可以在jquery上下载到,改下名字就可以,地址:><link  rel="stylesheet"  href="stylecss" type="text/css" />

你这样理解是一个错误,

CSS和HTML是两个不同的东西,HTML要应用CSS就可以用LINK方法来引用CSS文件。

而你想加载另外一个HTML,你当然是不能用引用CSS的方法来引用的了。

可以用JS来加载,可以用框架来加载等方法,

JS和框架的选择,就要看你的页面需要的效果来决定。

两种方法,百度都有比较详细的用法,搜索:JS加载HTML 和 HTML框架

1如果你是想进行数据取值 *** 作的话,建议使用datatype为 json 或者 xml;

2使用html的时候一般都是直接将返回的html添加(append)到文档指定的位置;

3至于html()为空, 我感觉html()方法应该是应用在文档的dom上的,你取回的只是一个html字符串,并没有把他添加到文档dom里面去,所以我感觉在这种情况下使用html()方法是会有问题的;

当浏览器从服务器接收到页面的HTML响应时,在屏幕上绘制像素之前需要采取许多步骤。浏览器为页面的初始绘制需要执行的顺序称为“ 关键渲染路径 ” (CRP)。

CRP知识对于了解如何改善站点性能非常有用。CRP分为6个阶段-

DOM( 文档对象模型 )树是完全解析的HTML页面的对象表示。从根元素开始, <html> 将为页面上的每个元素/文本创建节点。嵌套在其他元素中的元素表示为子节点,每个节点都包含该元素的完整属性。例如, <a> 元素将具有 href 与其节点关联的属性。

以这个样本文件为例-

这将创建以下DOM树-

关于HTML的一件好事是它可以部分执行。无需加载完整的文档即可使内容开始出现在页面上。但是,其他资源(CSS和JavaScript)可能会阻止页面的呈现。

CSSOM( CSS对象模型 )是与DOM关联的样式的对象表示。它以与DOM相似的方式表示,但包括每个节点的关联样式,无论它们是显式声明的还是隐式继承的。

在上述 stylecss 文档的文件中,我们具有以下样式-

这将创建以下CSSOM树-

CSS被视为 “渲染阻止资源” 。这意味着如果不首先完全解析资源,则无法构建 渲染树 。与HTML不同,由于CSS具有继承级联性质,因此不能部分使用。稍后在文档中定义的样式可以覆盖和更改先前定义的样式。因此,如果我们在解析整个样式表之前开始使用样式表中较早定义的CSS样式,则可能会遇到应用了错误CSS的情况。这意味着,在我们进入下一阶段之前,必须对CSS进行完全解析。

CSS文件仅适用于当前设备,才被视为渲染阻止。该 <link rel="stylesheet"> 标签可以接受一个 media 属性,我们可以在其中指定任何媒体查询其内的样式应用到。例如,如果我们有一个样式表,其media属性为 orientation:landscape ,并且我们正在以纵向模式查看页面,则该资源将不被视为渲染阻止。

CSS也可以是 “脚本阻止” 。这是因为JavaScript文件必须等待CSSOM构造完成后才能运行。

JavaScript被视为 “解析器阻止资源” 。这意味着HTML文档本身的解析已被JavaScript阻止。

当解析器到达一个 <script> 标签时,无论是内部标签还是外部标签,它都会停止获取(如果是外部标签)并运行它。这就是为什么,如果我们有一个JavaScript文件引用了文档中的元素,则必须将其放在该文档的外观之后。

为了避免JavaScript被解析器阻止,可以通过应用 async 属性异步加载它。

渲染树是DOM和CSSOM的组合。它是一棵树,代表最终将在页面上呈现的内容。这意味着它仅捕获可见的内容,并且不包括例如使用CSS被CSS隐藏的元素 display: none 。

使用上面的示例DOM和CSSOM,将创建以下渲染树-

布局是决定视口大小的要素,它为依赖于它的CSS样式(例如百分比或视口单位)提供了上下文。视口大小由文档头中提供的meta视口标签确定,或者,如果未提供标签,则使用默认视口宽度980px。

例如,最常见的元视口值是将视口大小设置为与设备宽度相对应-

如果用户在宽度为例如1000px的设备上访问网页,则尺寸将基于该单位。视口的一半将是500px,10vw将是100px,依此类推。

最后,在“绘画”步骤中,页面的可见内容可以转换为要在屏幕上显示的像素。

绘制步骤需要花费多少时间取决于DOM的大小以及所应用的样式。某些样式比其他样式需要执行更多工作。例如,复杂的渐变背景图像比简单的纯色背景需要更多的时间。

要查看正在处理的关键渲染路径,我们可以在DevTools中对其进行检查。在Chrome浏览器中,它位于“ 时间轴” 标签下(在Canary中,不久后成为Chrome稳定版,它已重命名为 Performance )。

举例来说,我们上面的示例HTML(带有添加的 <script> 标记)-

如果我们查看页面加载的事件日志,就会得到以下信息:

基于此信息,我们可以决定如何优化“关键渲染路径”。

Understanding the Critical Rendering Path

as 属性只有在 <link> 元素设置了 rel="preload" 时才能使用。它规定了 <link> 元素加载

的内容类型,对于内容的优先级、请求匹配、正确的内容安全策略的选择以及正确的 Accept 请求头的设置,

这个属性是必需的。

其值如下:

crossorign 属性指定在加载相关资源时是否必须使用 CORS。当不设置此属性时, 资源将会不使用 CORS 加载 (即不发送 Origin: >

1、先将网页另存到本机,假设文件名为ABCHTM,保存在C盘根目录下;

2、用VB读取存好的ABCHTM文件的全部内容到一个变量或文本框;

3、用搜索函数InStr()和取字串的函数Mid()来抽取出介于“>”和“</A>”之间的文本,就是超链接的文字;抽取“href=”和空格之间的内容,就是链接的URL。

代码如下:(在窗体添加一个按钮Command1,一个文本框Text1,将Multiline属性设置为True,ScrollBars设置为Virtical)

Private Sub Command1_Click()

Dim htmltext As String, aLine As String

Dim linkText As String, linkURL As String

Open "C:\ABCHTM" For Input As #1

Do While Not EOF(1)

Line Input #1, aLine

htmltext = htmltext & aLine

Loop

htmltext = LCase(htmltext)

Close

Open "C:\linkscsv" For Output As #1

Dim pos1 As Integer, pos2 As Integer

pos1 = InStr(1, htmltext, "href=")

Do While pos1 > 0

htmltext = Mid(htmltext, pos1 + 5)

pos1 = 1

pos2 = InStr(pos1, htmltext, " ")

linkURL = Mid(htmltext, pos1, pos2 - pos1)

If InStr(linkURL, ">") > 0 Then

pos2 = InStr(pos1, htmltext, ">")

linkURL = Mid(htmltext, pos1, pos2 - pos1)

End If

linkURL = Replace(linkURL, """", "")

linkURL = Replace(linkURL, "'", "")

pos1 = InStr(pos2, htmltext, ">")

pos2 = InStr(pos1, htmltext, "</a>")

linkText = Mid(htmltext, pos1 + 1, pos2 - pos1 - 1)

If Left(linkText, 4) = "<img" Then linkText = "链接"

Text1Text = Text1Text & linkText & " ---- " & linkURL & vbCrLf

Print #1, linkText & "," & linkURL

pos1 = InStr(pos2, htmltext, "href=")

Loop

Close

MsgBox "在C盘根目录下找到 linkscsv ,双击即可看到你想要的。", , "提取完毕"

Unload Me

End Sub

以上就是关于如何提取显示一个html文档所有的标签,id值,class值全部的内容,包括:如何提取显示一个html文档所有的标签,id值,class值、html link元素用于什么 rel="stylesheet"的属性和值分别是什么意思、html 里的link 只能作用于css吗 我想在html页面里link 已经写好的html可以吗貌似不行啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9325389.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存