首页 > 开发技术 > Chrome进行大小写字符敏感的内容查找

Chrome进行大小写字符敏感的内容查找

2014年4月8日 Terence 4,071 次阅读 发表评论 阅读评论

      用过Chrome内容查找功能的人都知道在搜索英文字符串的时候它是不区分大小写的,这对于经常检索代码关键字的人来说这是非常不方便的。比如搜索“Hello”的时候会把“hello”等相关无用的字符串都给标记高亮了。

      当然解决方法是有,就是会麻烦些,我们通过自定义js书签的方式变相实现了该功能。首先新建一个书签,名称随便写,网址栏填入以下js代码:

javascript:(function(){var text=prompt('Search for:','');if(text==null || text.length==0)return;var spans=document.getElementsByClassName('labnol');if(spans){for(var i=0;i < spans.length;i++){spans[i].style.backgroundColor='transparent';}}function searchWithinNode(node,te,len){var pos,skip,spannode,middlebit,endbit,middleclone;skip=0;if(node.nodeType==3){pos=node.data.indexOf(te);if(pos>=0){spannode=document.createElement('span');spannode.setAttribute('class','labnol');spannode.style.backgroundColor='yellow';middlebit=node.splitText(pos);endbit=middlebit.splitText(len);middleclone=middlebit.cloneNode(true);spannode.appendChild(middleclone);middlebit.parentNode.replaceChild(spannode,middlebit);skip=1;}}else if(node.nodeType==1 && node.childNodes && node.tagName.toUpperCase()!='SCRIPT' && node.tagName.toUpperCase !='STYLE'){for(var child=0;child < node.childNodes.length;++child){child=child+searchWithinNode(node.childNodes[child],te,len);}}return skip;}searchWithinNode(document.body,text,text.length);})();

      可以把该书签放在Chrome书签栏上,方便调用。使用的时候就比较简单了,点击下该书签,会弹出个输入框,试试输入字符串,然后确定,有没有发现页面里高亮出来的是大小写完全匹配的字符串啦? 8-)





分类: 开发技术 标签:
  1. 2017年1月2日00:37 | #1
    Google Chrome 55.0.2883.87 Google Chrome 55.0.2883.87 Windows 7 Windows 7

    :mrgreen: NB!

    [回复]