当前位置: 首页 > news >正文

都有哪些网站可以做推广学校后勤网站建设方案

都有哪些网站可以做推广,学校后勤网站建设方案,重庆电商网站,网站如何进行优化设计JS脚本 - 批量给所有指定标签追加Class属性 前言一. 脚本二. 测试运行 前言 公司里我们有个应用引入了UBT埋点#xff0c;记录了页面上所有的点击操作以及对应的点击按钮。但是我们看下来发现#xff0c;我们需要给每个按钮加一个唯一标识做区分#xff0c;并且这个ID是给U… JS脚本 - 批量给所有指定标签追加Class属性 前言一. 脚本二. 测试运行 前言 公司里我们有个应用引入了UBT埋点记录了页面上所有的点击操作以及对应的点击按钮。但是我们看下来发现我们需要给每个按钮加一个唯一标识做区分并且这个ID是给UBT埋点专用的。那怎么办呢 加Id 不合理因为如果某个标签已经自带Id了我们不太可能去覆盖它。加Class合理class属性可以加多个也可以过滤。 一. 脚本 const fs require(fs); const path require(path); // 读取文件内容 const stack []; const classRegExp /class([^]*)/; const idRegExp /id([^]*)/; const args process.argv.slice(2) if (!args || args.length 4) {console.log(参数不合法) }const TagMapping [{Tag: a,ATagPre: a,ATagSuffix: /a }, {Tag: el-button,ATagPre: el-button,ATagSuffix: /el-button }, {Tag: el-dialog,ATagPre: el-dialog,ATagSuffix: /el-dialog }, {Tag: button,ATagPre: button,ATagSuffix: /button }] const currentTagRegExp new RegExp((${a}\\s)([^]*)(), i);function contentAddUbtClass(filePath, tag, classPre) {const tagInfo TagMapping.filter(item item.Tag tag)[0];if (!tagInfo) {return;}const content fs.readFileSync(filePath, utf8);let resultContent const preLen tagInfo.ATagPre.length;const stuffixLen tagInfo.ATagSuffix.length;for (let i 0; i content.length; i) {// a标签开始if (i preLen content.length content.substring(i, i preLen) tagInfo.ATagPre) {stack.push(i);} else if (i stuffixLen content.length content.substring(i, i stuffixLen) tagInfo.ATagSuffix) {if (stack.length 0) {// 出栈找到起始索引位置const start stack.pop();// 栈为空的时候才开始截取并替换这决定了代码取的标签内容都是最外层的结构if (stack.length 0) {// a 标签const aTagHtml content.substring(start, i stuffixLen);const newHtml addClass(aTagHtml, i, tag, classPre);resultContent newHtml;i i stuffixLen - 1;}}} else {// 栈为空的时候说明这个时候还没有识别到对应标签可以添加其他内容。若识别到了对应标签那么对应标签包裹的内容在这里不会添加if (stack.length 0) {resultContent content.charAt(i);}}}fs.writeFileSync(filePath, resultContent, utf8); }function addClass(content, index, tag, classPre) {// 匹配结果const classMatch content.match(classRegExp);const idMatch content.match(idRegExp);// class属性值let className;if (content.includes(classPre)) {return content;}if (idMatch) {// 如果匹配到了id属性则在原有的class属性值上添加新的样式名称className ${classPre}${tag}_ idMatch[1];// 如果没有匹配到class属性则在原有的文本中添加新的class属性if (classMatch) {// 追加classclassName classMatch[1] ${className};}} else if (classMatch) {// 如果没有匹配到id属性但匹配到了class属性则在原有的class属性值上添加新的样式名称className classMatch[1] ${classPre}${tag}_${index};} else {// 如果没有匹配到id属性和class属性则生成一个新的class属性值className ${classPre}${tag}_${index};// 在原有的文本中添加新的class属性// content content.replace(currentClassRegExp, $1 class${className});}// 替换原有的class属性值return content.replace(currentTagRegExp, (match, p1, p2, p3) {// 判断标签原本是否包含了class属性if (p2.includes(class)) {return ${p1}${p2.replace(classRegExp, class${className})}${p3};} else {return ${p1}${p2} class${className}${p3};}}); }// 遍历指定目录下的所有文件 function traverseDirectory(dirPath, extension, tag, classPre) {// 读取目录下的所有文件和子目录const files fs.readdirSync(dirPath);// 遍历每个文件和子目录files.forEach((file) {// 获取文件的完整路径const filePath path.join(dirPath, file);// 判断文件是否是目录if (fs.statSync(filePath).isDirectory()) {// 如果是目录则递归traverseDirectory(filePath, extension, tag, classPre);} else {// 如果是文件则判断文件后缀名是否匹配指定的后缀名if (extension.includes(path.extname(filePath))) {// 如果匹配则输出文件路径contentAddUbtClass(filePath, tag, classPre)}}}); } traverseDirectory(args[0], args[1], args[2], args[3])二. 测试运行 假设我要给页面所有的a标签添加一个class属性固定的前缀是UBT_准备一个html文件 执行脚本 node .\test.js ./ .html a UBT_ node 脚本名称 [路径] [匹配的文件后缀支持多个] [匹配的标签名称] [增加的class前缀名] 结果如下 大家也可以在这个脚本的基础上自行二创。
http://www.yutouwan.com/news/68401/

相关文章:

  • 苏州园区网站设计公司荆门刚刚发布的
  • 网站icp备案代理网站html静态化
  • 公司网站建设方案ppt建立公司网站需要注意什么
  • 站长工具seo优化吉安县规划建设局网站
  • 建站行业前景怎么样微网站怎么做的
  • 自己网站做优化的有权利卖么什么是成交型网站建设
  • 网站后台管理系统很慢亲子乐园网站建设规划
  • 一般公司网站是什么设计师做网站升级中模板
  • 昆明免费网站制作最专业的营销网站建设公司
  • 1m带宽网站支持多少人同时在线淘宝客网站免费模板下载
  • 信誉好的企业网站开发wordpress登录下载文件
  • 企业网站建设可以分为( )交互层次90设计网站最便宜终身
  • 交互动效库 网站南昌做网站哪个好
  • 正确建设企业网站做预定网站的作用
  • 有哪些好的网站建设潍坊建设网站公司电话
  • 九亭做网站公司免费注册qq号网站
  • 唐山医疗网站建设小程序主题wordpress
  • 百度糯米网站怎么做网站页面一般以多大标准做合适
  • 饰品网站建设策划书英文网站建设解决方案
  • 重庆网站搜索推广网站怎么做不违法
  • 金华专业做网站定做app需要多少钱
  • 中交建设集团网站分公司企业公众号运营方案
  • 好的企业官网建设公司外贸网站 seo
  • 网站开发范围说明书最新房地产新闻
  • 开源网站推广昆山网站优化
  • 网站建设需要ui吗全网是哪些平台
  • 哈尔滨 建网站叮当app制作平台登录
  • 做云购网站株洲房地产信息网
  • 教学网站建设 效益安卓优化大师官方版本下载
  • seo网站排名优化公司宁波seo推广公司排名