hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
阅读:7429回复:25

【讨论】关于我的 Enhanced word highlight 脚本的问题

楼主#
更多 发布于:2010-02-21 16:26
因为我实在测试不出问题所在,所以就不在置顶帖中讨论了……
希望大家安装最新版 GreaseMonkey 和我这脚本的最新版1.3.4c(http://userscripts.org/scripts/show/64877)帮忙测试。
这帖是源于 userscripts.org 上一个用户提出的要求:
http://userscripts.org/topics/45810
Feb 10, 2010 2:59pm
joshatt

功能很强大, 不过怎么清除我始终弄不明白:

比如刷中一个关键词, 左键拖拽, 则自动google或百度搜索了, 并高亮了. 这时, 无论我点面板的off, 或x, 或去掉关键词的对勾, 或先off再x, 只要F5刷新页面, 就又高亮了.

按ctrl+/, 点出NEW, 回车, 也不行.....重复这一套操作但覆盖以新的关键词, F5后,原关键词又出来了
 
Feb 11, 2010 1:40pm
hzhbest

你的要求是即使在搜索结果页面也不高亮搜索关键词?
我不明白你的目的哦,因为我的脚本就是为了实现自动高亮的。
如果你想暂时禁用、即使刷新也不出来,就直接在 GreaseMonkey 的菜单中禁用我的脚本就是了。
 
Feb 19, 2010 3:13am
joshatt

我发现, 必须关掉google结果页面, 则高亮才能真正清除.
请问, 代码中哪句改一下, 就可以关闭"拖拽搜索自动高亮"功能?
 
Feb 19, 2010 6:17am
hzhbest

如果你的要求是要完全禁止自动高亮的话,请更新到1.3.4c,并参照“高级设置”部分关于关闭自动高亮的设置项自行设置。
 
1 day ago
joshatt

谢谢. 版本是1.3.4c.
我改为 var no_auto_hili = 1;
结果ctrl+/ 根本就没反应了, 不管是否先刷个关键词
 
1 day ago
joshatt

反复试验发现,134c版本不太稳定----多次卸载/安装, 其中只有一次ctrl+/起作用了,实际上, 整个脚本都不起作用了,拖拽搜索也不高亮(在暂不修改var no_auto_hili的情况下).
卸载然后安装我上次用的版本128, 一切正常了.
 
14 hours ago
hzhbest

你能不能提供当时不起作用的页面地址呢?因为在我这里我自己发布前也测试了无数次,现在又测试了无数次,都没有任何问题,自动高亮关闭下 Ctrl-/响应正常。
V1.2.8 是我还没改脚本名时的版本号吧?你应该看看 GreaseMonkey 脚本管理中是否有名为“word highlight”的脚本,有就卸载掉再更新最新版试试看?
 
2 hours ago
joshatt

// ==UserScript==
// @name Enhanced word highlight
// @namespace http://userscripts.org/users/86496
// @description Enhanced keywords highlight for Google Search and All !
// @include http://*
// @include https://addons.mozilla.org/*
// @exclude http://maps.google.com/*
// @version 1.2.8
// ==/UserScript==
.....
 
2 hours ago
joshatt

卸载128,装134c, 我试了很多网页, 例如本贴
还以为是我这个firefox垃圾太多, 在另一个文件夹的另一个绿色版上试了下128和134c, 仍然如此


这脚本 V1.3.4c 在“no_auto_hili”设为“1”后除了不针对搜索关键词自动高亮外其他功能包括 Ctrl-/ 快捷键以及锁定关键词自动高亮都是正常的,这也是设计功能,我在自己的 3.6 tete009 sse2 以及 3.5.7 正式版、都装有 GreaseMonkey 最新版的配置中测试均正常。所以我实在不清楚他为什么不能用。
当然,前面说改名是 1.1.2b 的事情,我记错了;
Ctrl-/ 快捷键出现失灵的情况 kmc 也遇到过吧?后来是否解决了?怎么解决的?
joshatt
小狐狸
小狐狸
  • UID32092
  • 注册日期2010-02-21
  • 最后登录2013-04-13
  • 发帖数15
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2010-02-21 16:26
楼主辛苦了. 上述问题就是我提出的.
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
2楼#
发布于:2010-02-21 16:26
Ctrl+/ 快捷键的问题我后来注意了,好像在某种不规则的HTML网页和纯TXT网页就打不开

例子:bugzilla上的
https://bugzilla.mozilla.org/show_bug.cgi?id=100086
Gmail邮箱和很多js丰富的Google产品

本地的网页(这个挺可惜的)

纯文本网页
https://bug250983.bugzilla.mozilla.org/ ... ?id=159929

我估计HTTPS都打不开吧

所以其实也没有太在意了。其实我很希望你能抽空加一个字长的判断,2字符和1字符的不要匹配,相信应该也很简单的。否则经常是满屏的to, is, a, in的匹配,总是要edit。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
3楼#
发布于:2010-02-21 16:26
joshatt说的,也有注意到。感觉referer出来的页面会一直保留前面搜索结果的关键字列表,如果你在这个页面继续浏览别的网页,即使是到了别的网站去,因为我在地址栏输入是默认覆盖当前页面的,所以依然会高亮这些关键词。

例如,Google出“good firefox”,然后点击第一结果
http://reviews.cnet.com/browsers/mozill ... 17280.html
这时good firefox高亮,然后在地址栏输入本论坛地址
https://www.firefox.net.cn/forum/viewforum.php?f=4
回车,新页面依然高亮“good firefox”。

不过我觉得能保留久一点也没有什么不好,大不了就关掉这个页面开一个新的。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
4楼#
发布于:2010-02-21 16:26
1. 这脚本原本就只匹配“http://*”,所以“https://*”的网页都不会匹配(对 AMO 的支持我已经加上了,下版把“https”匹配加上吧)。
2. 插一句,对 Google Maps 天生不支持,所以直接加了排除;不兼容现象在有高亮又在搜索框进行搜索时出现,目前无解。
3. 纯文本文件严格来说不算网页,因为那样无法插入样式表(无head区)也无法实现插入高亮容器(非网页结构无法产生 XPath),所以脚本原本就有判断页面格式的语句,排除非 html 格式。
4. 不能在本地的网页起作用是 GreaseMonkey 的限制。(能够手动解除限制,详情见:https://www.firefox.net.cn/forum/viewtopic.php?p=238528#238528)
5. referrer 这个……我还是加个开关吧,要是又储存起来判断 referrer 为哪个网址时不高亮搜索关键词实在是很不必要。
6. 还有一个自动高亮方式是根据 window.name 的,所以同窗口(标签页)下也自动高亮,例如发生翻页后或者同主题的相关页面中有用,这个也加开关好了(不要怪我开关多就好)。点“X”时 window.name 会被清空,所以只需要“X”掉一次即可;但脚本不能改当前页的 referrer (能自定发送请求的 referrer 而已),所以那个只能靠开关了(能否融合到“X”里面去呢?让我思考一下)。
7. 字长判断倒很简单,我的想法是默认不高亮(复选框不选)而不是过滤掉,也加个开关(同上)。

如果 joshatt 遇到的是你提到的情况,那就没什么问题了(反正我已经推得一干二净了,呵呵 )。

----
比较过楼主说有问题的 1.3.4c 和没问题的 1.2.8 的源代码,差异的部分大都在面板界面上的改动,没高亮任何关键词的话是完全不会有影响的;唯一可能跟面板界面外有影响的就是变更后的快捷键设置而已,所以希望 joshatt 通过禁用其他扩展或脚本检查快捷键冲突问题。
另外,joshatt 可以在重现你所说的问题时调出“错误控制台”看看里面有没有关于我的脚本的错误信息,有的话发上来吧。
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
5楼#
发布于:2010-02-21 16:26
更新了,kmc 你测试下吧
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
6楼#
发布于:2010-02-21 16:26
增加部分关闭自动高亮的选项;增加跳过高亮短词的选项,应求,增加关闭自动高亮的选项

这些“选项”在哪里调整?
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
mattthew
小狐狸
小狐狸
  • UID32036
  • 注册日期2010-02-12
  • 最后登录2010-03-29
  • 发帖数60
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2010-02-21 16:26
像chrome查找的时候,会在滚动条上画出道道来,点过去自动跳转,不过这脚本也算弥补了。
相当不错,很强啊。
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
8楼#
发布于:2010-02-21 16:26
增加部分关闭自动高亮的选项;增加跳过高亮短词的选项,应求,增加关闭自动高亮的选项

这些“选项”在哪里调整?

  好吧,是我的用词问题……

// Stop auto-highlight on supported pages? 0-no, 1-yes, 2-only those from Google
var no_auto_hili = 0;

Stop auto-highlight function, including on Google search results and subsequent pages, as well as other search results, except with already locked keywords. By setting it to "2" will only stop auto-highlight function on subsequent pages from Google search results.
关闭自动高亮,也就是在 Google 搜索结果页及从中打开的页面,以及其他支持的搜索结果页不再自动高亮搜索关键词;但手动锁定的关键词不受影响。设定值为 “2” 时仅对从 Google 搜索结果页中打开的页面关闭自动高亮。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
9楼#
发布于:2010-02-21 16:26
谢谢。是有用的,短词的处理方式完美。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
10楼#
发布于:2010-02-21 16:26
不过话说GM脚本倒是可以有选项的,今天才发现,右键点猴子图标,那个“user script commands”菜单,如果启动的脚本有选项,就会出现。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
11楼#
发布于:2010-02-21 16:26
kmc:不过话说GM脚本倒是可以有选项的,今天才发现,右键点猴子图标,那个“user script commands”菜单,如果启动的脚本有选项,就会出现。回到原帖

我自己觉得每个设置项都不需要经常更改。你说说看哪些需要放到“用户脚本命令”里?
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
12楼#
发布于:2010-02-21 16:26
你这么一说,也确实是,一般设定好了就不改了。没准以后可以有。或者把你写的另一个脚本,总是高亮某些关键词的那个(假设叫Always),加上这个功能,那个脚本的关键词列表经常要改。事实上那个脚本的功能我觉得也挺有用,比方说我开了几个页面,突然想在这几个页面中搜索某个词,我当然可以一个个Ctrl+F来找,但是一是麻烦,二是多个单词的“或”逻辑用Ctrl+F没戏。这是如果用EWH这个脚本,它的Lock功能是不能对已经打开的其它标签页起作用的,如果有Always就方便了,临时用脚本选项加一个关键词列表,一个个刷新一下就行。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
13楼#
发布于:2010-02-21 16:26
这是如果用EWH这个脚本,它的Lock功能是不能对已经打开的其它标签页起作用的,如果有Always就方便了,临时用脚本选项加一个关键词列表,一个个刷新一下就行。

EWH Lock 了关键词也可以一个个刷新的……
当然,“Always”资源消耗少也是优势,那我先改“Always”好了。
null2010
小狐狸
小狐狸
  • UID32285
  • 注册日期2010-03-14
  • 最后登录2010-04-15
  • 发帖数7
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于:2010-02-21 16:26
这个脚本挺好用的,谢谢楼主。
我用来高亮英文关键词时有些小错误,统计数字不准确。
如在这个网页
http://www.bizrate.com/bath-accessories/bathroom-linen-cabinets/

统计"storage" 和 "storage cabinet",前面一个是实际的两倍还要多,后面一个也不准确,似乎不能统计词组?
上一页
游客

返回顶部