阅读:7461回复:25
【讨论】关于我的 Enhanced word highlight 脚本的问题
因为我实在测试不出问题所在,所以就不在置顶帖中讨论了……
希望大家安装最新版 GreaseMonkey 和我这脚本的最新版1.3.4c(http://userscripts.org/scripts/show/64877)帮忙测试。 这帖是源于 userscripts.org 上一个用户提出的要求: http://userscripts.org/topics/45810 Feb 10, 2010 2:59pm 这脚本 V1.3.4c 在“no_auto_hili”设为“1”后除了不针对搜索关键词自动高亮外其他功能包括 Ctrl-/ 快捷键以及锁定关键词自动高亮都是正常的,这也是设计功能,我在自己的 3.6 tete009 sse2 以及 3.5.7 正式版、都装有 GreaseMonkey 最新版的配置中测试均正常。所以我实在不清楚他为什么不能用。 当然,前面说改名是 1.1.2b 的事情,我记错了; Ctrl-/ 快捷键出现失灵的情况 kmc 也遇到过吧?后来是否解决了?怎么解决的? |
|
|
1楼#
发布于: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 可以在重现你所说的问题时调出“错误控制台”看看里面有没有关于我的脚本的错误信息,有的话发上来吧。 |
|
|
2楼#
发布于:2010-02-21 16:26
更新了,kmc 你测试下吧
|
|
|
3楼#
发布于: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; |
|
|
4楼#
发布于:2010-02-21 16:26
|
|
|
5楼#
发布于:2010-02-21 16:26
这是如果用EWH这个脚本,它的Lock功能是不能对已经打开的其它标签页起作用的,如果有Always就方便了,临时用脚本选项加一个关键词列表,一个个刷新一下就行。 EWH Lock 了关键词也可以一个个刷新的…… 当然,“Always”资源消耗少也是优势,那我先改“Always”好了。 |
|
|
6楼#
发布于:2010-02-21 16:26
觉得统计数字多了是因为页面上“显示出来”的少了。这脚本是真实统计被它高亮了的关键词的,但有些关键词可能是在隐藏的或折叠起来的元素之中而不可见。
高亮和统计词组不是不行: http://www.google.com/search?q="storage+cabinet" 而是只有自动高亮时正常,自行添加的话总是不正常(如置顶帖所述),懒了就忘了这事了,今晚再钻研下…… ----- 应该是原脚本过于复杂的高亮函数的问题了: 用我的 Highlight Certain Text 高亮同样的词组是没问题的。 希望有高手能帮忙看看脚本中的 “highlight(doc, ext_word)” 函数,究竟是什么导致这个问题。 |
|
|
7楼#
发布于:2010-02-21 16:26
我自己的话,统计“隐藏”的高亮关键词没意义,既不能看见也不能用脚本的查找功能找到,连分布图上也没相应的位置;但折叠起来的元素中的则可能会有位置。
不过,我认为这不是脚本功能的问题,而涉及到网络安全的问题了。我之前在网上看过有人贴出获取链接是否已经被访问过的 js 代码,但指出这是个漏洞(尽管我用了其代码在 Firefox 3.6 中没成功),因为这样的话你的浏览习惯(历史)就可能会泄漏出去了。同样的道理,如果通过 js 代码能够获取在你的浏览器中什么东西被显示出来什么没显示,这简直就是你看什么东西都被监视着了。 当然,关于网页标准的测试那些性质不同,网页元素的属性能够通过 js 获取没问题,只要网页元素的实际显示效果不能获取就是安全的。 |
|
|
8楼#
发布于:2010-02-21 16:26
|
|
|
9楼#
发布于:2010-02-21 16:26
qingyunzhi:问下怎么使用正则表达式来高亮啊啊?有特殊前缀?回到原帖 [quote="http://userscripts.org/scripts/show/64877"]** 高亮正则表达式: 在脚本的默认设置下,如果已经有高亮的关键词,你需要清空关键词输入框的复选框(也就是选“New”),然后才能输入并高亮一条正则表达式。[/quote] |
|
|
10楼#
发布于:2010-02-21 16:26
qingyunzhi:不行啊,我的配置的问题吗? 必须要像我图中正则的写法,再把“Add”改成“New”,再不行到高级设置中把“排列关键词……”选项关闭。 ……另外,这会很卡。 |
|
|