在标记中找到javascript并确定它是否位于标题标签上方的正确方法是什么?
What is the right way to find javascript in mark up and determine whether or not it lies above the title tag?
我需要看看html页面标记是否在源代码中包含谷歌分析,在脚本块中,并且脚本块在<title>
标记之上。
我已经设法把网页的源代码变成一个变量。
我正在努力写正确的正则表达式拉出代码的谷歌分析部分知道是否首先它是存在的,其次,javascript是在标签之前!
有什么建议吗?
避免使用正则表达式解析html;陷阱太多了。假设您在文档中搜索字符串"<title"。如果找不到"><TITLE"怎么办?很容易进行不区分大小写的匹配。但是…如果在注释中嵌入了"><title"字符串怎么办?如果在脚本块中嵌入了这样一个字符串怎么办?等等等等。>
任何HTML文档的"搜索"需要做的不仅仅是简单的文本搜索。它需要具有文档意识。这就是htmllagilitypack提供的。可以免费下载。
像这样开始:
using HtmlAgilityPack;
....
HtmlDocument doc = new HtmlDocument();
doc.Load(fileName);
var titles = doc.DocumentNode.SelectNodes("/html/head/title");
if (titles != null)
{
foreach(var title in titles)
{
Console.WriteLine("<title> on line: " + title.Line);
}
var scripts = doc.DocumentNode.SelectNodes("/html/head/script");
if (scripts != null)
{
foreach(var script in scripts)
{
Console.WriteLine("<script> on line: " + script.Line);
// here, you need to decide if the script is before the title
// and if it is the "right" script - google analytics.
// you have to do that part yourself.
}
}
else
{
Console.WriteLine("No script nodes found.");
}
}
else
{
Console.WriteLine("No title node found.");
}
相关文章:
- 在 php 标题标签中添加日期函数
- 标签之间的内容转换为标题JS
- Angular 2-我如何使我的index.html文件的标题和关键字和描述的元标签是动态的
- chart js:如何显示标题或标签
- 如何在标题标签上显示 JS 变量
- 如何在React中管理标题、元标签等,使用服务器渲染+流媒体
- 使用带有哈希标签的链接处理类似Facebook的按钮信息(标题和图像)
- 删除YouTube API标题标签开头的前24个字符
- 标题下方的标签在再次单击时消失,JavaScript不知道为什么
- 如何为这些图像添加标题标签
- 为什么我的某些链接标题被放置在我的 标签之外
- “index.swf”嵌入在“index.html”中,在一个页面中显示同一网站两次.HTML 标题标签/属性也显示值“
- 在 Rails 上初始化应用程序 CSS 和 JavaScript 标签时,未显示 FullCalendar 标题工具栏
- 从下拉菜单选项中显示“标题”标签
- 如何从角度控制器隐藏标题标签
- 将标题标签与数据库连接并使其自动刷新,就像在Facebook标题中一样
- 如何使用 jQuery 选择生成的标题标签
- 量角器 e2e 测试表标题和
, 标签 - 以编程方式确定按钮的标签标题
- 图表轴标签标题太长