HTML5技术

JS/CSS缓存杀手——VS插件 - 戢俊建(2)

字号+ 作者:H5之家 来源:博客园 2016-07-19 10:00 我要评论( )

1 var dte = this .ServiceProvider.GetService( typeof (DTE)) as DTE;(selection == null ) 4 { 5 return ; s+ DateTime.Now.ToString( ); 9 selection.Insert(versionstr, ( int )vsInsertFlags.vsInsertFlagsCo

1 var dte = this.ServiceProvider.GetService(typeof(DTE)) as DTE; (selection == null) 4 { 5 return; s+ DateTime.Now.ToString(); 9 selection.Insert(versionstr, (int)vsInsertFlags.vsInsertFlagsCollapseToEnd);//重新写入文档

 

  

   效果如下:

  

 

  但是问题来了:

  A、光标一定要定位到文件名后面,这完全是在制造麻烦么?

  B、我要同时给几个js添加版本号怎么办?一个个添加?这还是在制造麻烦么?

  C、我要同时给js和css添加版本号又怎么办呢?

  ...

  带着这些疑问,我开始了新的起航。

 

小菜最终版

   在解决第一版提出的问题,首先我们得解析我们选中的内容,随便百度一下,我就发现了 HtmlAgilityPack,后面的工作就简单了,便利选中 script和link 标签,获取 href,src 属性,加个?v=yyyyMMddss 就OK了。

   这个版本,我们可以直接多个标签批量设置版本号了,操作就更方便了。使用方便了,同事自然就想用了,都不用我去要求了。

   直接上代码吧,大家一看就了然了,没有注释哈,代码就是最好的注释了。

   

1 var dte = this.ServiceProvider.GetService(typeof(DTE)) as DTE; (selection == null) 4 { 5 return; 6 } 7 8 HtmlDocument doc = new HtmlDocument(); 9 doc.LoadHtml(selection.Text); ); ); newcontent = ""; + DateTime.Now.ToString(); (link != null) 18 { 19 foreach (HtmlNode categoryNode in link) 20 { ].Value; ) > 0) 23 { )); 25 } 26 href += versionstr; + href + ; 28 } 29 } (script != null) 33 { 34 foreach (HtmlNode categoryNode in script) 35 { ].Value; ) > 0) 38 { )); 40 } 41 src += versionstr; + src + ; 43 } 44 45 } (newcontent.Length == 0) 48 { 49 newcontent = versionstr; 50 }

 

   

  再上几张最后的效果图,有图有真像,后面还有代码哦(至于最后用HJ这个图标,就是为了给媳妇邀功 \\*^o^*// )。

  

 

  

              (选择一行)           

  

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • .NET插件技术-应用程序热升级 - 把爱延续

    .NET插件技术-应用程序热升级 - 把爱延续

    2017-04-20 12:01

  • 认识浏览器缓存 - TechSnail

    认识浏览器缓存 - TechSnail

    2017-04-03 09:02

  • AlloyTouch之无限循环select插件 - 【当耐特】

    AlloyTouch之无限循环select插件 - 【当耐特】

    2017-03-03 14:01

  • Omi教程-插件体系 - 【当耐特】

    Omi教程-插件体系 - 【当耐特】

    2017-03-02 18:00

网友点评
r