阅读:15805回复:35
【新年好】自制/修改脚本三连发
Highlight Certain Text|高亮特定文本 for Greasemonkey
http://userscripts.org/scripts/show/64232 Scroll with Mouse Plus|滚动无需点击 for Greasemonkey http://userscripts.org/scripts/show/65196 word highlight Modified|强大的关键词高亮修改版 for Greasemonkey http://userscripts.org/scripts/show/64877 外加一个旧版更新: Search Jump Around for Greasemonkey http://userscripts.org/scripts/show/61372 庆祝新年和论坛复活! |
|
|
1楼#
发布于:2010-01-01 12:40
说个无关的 3.6上挺多股沟搜索的脚本都失效了
|
|
|
2楼#
发布于:2010-01-01 12:40
谢谢分享。。。
|
|
|
3楼#
发布于:2010-01-01 12:40
感谢分享
|
|
|
4楼#
发布于:2010-01-01 12:40
谢谢分享,论坛复活,哦耶,新年好,好吧,好像是灌水
|
|
5楼#
发布于:2010-01-01 12:40
论坛复活,哦耶,新年好!!!!
|
|
6楼#
发布于:2010-01-01 12:40
Highlight Certain Text|高亮特定文本 for Greasemonkey 这个脚本,如果想组合两个单词作为一个整体呢?例如
"firefox extension",像Google搜索的引号? |
|
|
7楼#
发布于:2010-01-01 12:40
|
|
|
8楼#
发布于:2010-01-01 12:40
我记得隔壁不是回过么。
试了下用"|"后可以正确查找包含空格的词。 |
|
9楼#
发布于:2010-01-01 12:40
那个自动滚屏在3.6b5貌似无用,是不是主题非默认?
|
|
10楼#
发布于:2010-01-01 12:40
ferret:我记得隔壁不是回过么。 我明白了,你说的是split函数里面用|分隔,然后就可以用了,例如 word_list = "elva hsiao|firefox" var wordArray = word_list.split('|'); 但是新问题又来了:这个匹配,在回帖的时候会把匹配项从文本框里面删除掉。例如按上面这样写,然后回帖(你可以试着引用我的这个帖子),本来 word_list = "elva hsiao|firefox" var wordArray = word_list.split('|'); 在页面加载后就成了 word_list = "|" word_list = "|||" |
|
|
11楼#
发布于:2010-01-01 12:40
|
|
|
12楼#
发布于:2010-01-01 12:40
实现无视大小写 先把关键词转换成小写再用indexOf查找试试。 // Highlight function function HighLightAll(){ var allText = document.evaluate( "//text()", document, null, XPathResult. ORDERED_NODE_SNAPSHOT_TYPE , null); var allTextLen = allText.snapshotLength; for (l = 0; l < (wordArray.length); l++) { var cword = wordArray[l].toLowerCase(); for(var i = 0; i < allTextLen; i++) { var cur = allText.snapshotItem(i); var par = cur.parentNode; var parName = par.nodeName.toLowerCase(); var textInd; // Avoid some elements if(parName == "layer" || parName == "title" || parName.indexOf("textarea") == 0 || parName.indexOf("input") == 0 || parName.indexOf("select") == 0){ continue; } else { do { var curText = cur.nodeValue; textInd = curText.toLowerCase().indexOf(cword); if(textInd != -1){ var before = document.createTextNode(curText.substring(0, textInd)); var highlight = document.createElement("layer"); highlight.setAttribute("class","T_HiLi" + l); highlight.innerHTML = curText.substring(textInd, textInd + cword.length) ; var after = document.createTextNode(curText.substring(textInd + cword.length)); par.insertBefore(before, cur); par.insertBefore(highlight, cur); par.insertBefore(after, cur); par.removeChild(cur); cur = after; } } while(textInd != -1) } } } } |
|
|
13楼#
发布于:2010-01-01 12:40
不知道是不是GM的限制,Scroll with Mouse Plus对于本地文件无效?
|
|
14楼#
发布于:2010-01-01 12:40
@harnack:不错,我已更新我自己的
另:在启用的情况下word_list不能为空好像,否则脚本会卡住直到超时。 |
|
|
上一页
下一页