alanfly
千年狐狸
千年狐狸
  • UID31035
  • 注册日期2009-11-10
  • 最后登录2024-05-19
  • 发帖数2769
  • 经验580枚
  • 威望1点
  • 贡献值128点
  • 好评度102点
  • 社区居民
  • 最爱沙发
  • 忠实会员
75楼#
发布于:2010-01-17 00:23
有个问题:关键词中带有"-"的就不能识别并高亮,不管是自动高亮还是编辑都不行, 添加带有"-"的关键词会将"-"自动删去;
例如在脚本发布页面高亮Ctrl-就不能识别,高亮ctrl才可以。
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
76楼#
发布于:2010-01-17 00:23
alanfly:有个问题:关键词中带有"-"的就不能识别并高亮,不管是自动高亮还是编辑都不行, 添加带有"-"的关键词会将"-"自动删去;
例如在脚本发布页面高亮Ctrl-就不能识别,高亮ctrl才可以。
回到原帖

见附件。

另外如果是“-”号前有空格或者就在关键词开头的话,在 Google 的搜索语法上其后的关键词就是“除外关键词”,故在自动高亮的时候脚本也同样将之除外。
alanfly
千年狐狸
千年狐狸
  • UID31035
  • 注册日期2009-11-10
  • 最后登录2024-05-19
  • 发帖数2769
  • 经验580枚
  • 威望1点
  • 贡献值128点
  • 好评度102点
  • 社区居民
  • 最爱沙发
  • 忠实会员
77楼#
发布于:2010-01-17 00:23
试了下ctrl-a可以,ctrl-alt不行,见下图:


还有这个页面userChrome.js的设置,搜索pre可以识别高亮,搜索prefbutton不能识别高亮:
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
78楼#
发布于:2010-01-17 00:23
试了下ctrl-a可以,ctrl-alt不行

见附件上图,高亮没有问题(你的图其实也能证明),因为 Google 搜索结果中绝大部分并没有“ctrl-alt”的完整字符串,即使如我图中最上面一条结果那样也是被 Google 分别高亮了“Ctrl”和“Alt”两个词而造成了分隔,而脚本不能跨容器高亮文本。
这个,Google 主要考虑语义上“ctrl-alt”可能被表达成不同形式,所以将其当成两个关键词进行查找;而高亮脚本主要考虑准确性。
[quote="alanfly"]还有这个页面userChrome.js的设置,搜索pre可以识别高亮,搜索prefbutton不能识别高亮[/quote]
见附件下图(我使用了120%大小的字体);我先手动添加关键词高亮了一次,再锁定关键词刷新页面让其自动高亮一次,两次高亮都正常。
alanfly
千年狐狸
千年狐狸
  • UID31035
  • 注册日期2009-11-10
  • 最后登录2024-05-19
  • 发帖数2769
  • 经验580枚
  • 威望1点
  • 贡献值128点
  • 好评度102点
  • 社区居民
  • 最爱沙发
  • 忠实会员
79楼#
发布于:2010-01-17 00:23
Google的那个明白了,感谢耐心解释;
mozest论坛的我又试了下,发现用以下步骤可以重现,首先添加高亮pre,然后点编辑键将pre改为prefbutton,确定,发现不能高亮存在的文字;
然后我又在本论坛还有其它网页试了下也是这样,中文、英文都是这样,编辑后就不能正确高亮文字了;

刷新一下页面发现就可以正常高亮了,按R键刷新高亮没用。
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
80楼#
发布于:2010-01-17 00:23
用以下步骤可以重现,首先添加高亮pre,然后点编辑键将pre改为prefbutton,确定,发现不能高亮存在的文字;
然后我又在本论坛还有其它网页试了下也是这样,中文、英文都是这样,编辑后就不能正确高亮文字了;

刷新一下页面发现就可以正常高亮了,按R键刷新高亮没用。

这个,好像还真的是无解……
在 Firefox 和 Chrome 里测试我的脚本,
以及在 Firefox 里测试我的脚本、我的脚本的源脚本 word highlight、以及使用不完全一样方式清除高亮的另一脚本 HCT ,
结果,都还是一样:
高亮过词的一部分,再高亮与此部分有相交的另一部分将无法高亮。

看过源码,没发现问题,但用 Firebug 查看结构发现曾被高亮的部分文本跟前后的文本被显示到不同的行上。然后利用 Firebug 的编辑功能对代码进行修改(任何修改都行,例如在任何地方加一个空格再删除),再高亮就没这个问题了。

于是我根据此结果在清除高亮的函数中添加这样的语句:
document.body.innerHTML = document.body.innerHTML;

结果高亮是没问题了,脚本提供的界面上任何按钮都失效了;而针对每个高亮元素的母元素进行类似操作时却被告错“【母元素】是空的”。

目前的临时解决方法是,将上述语句只放在“关闭高亮”功能内,也就是按“X”按钮在消除一切的同时还刷新了HTML内容(但页面并没刷新),再次高亮的时候就不会有上面的问题了。
见附件【不再提供】:
alanfly
千年狐狸
千年狐狸
  • UID31035
  • 注册日期2009-11-10
  • 最后登录2024-05-19
  • 发帖数2769
  • 经验580枚
  • 威望1点
  • 贡献值128点
  • 好评度102点
  • 社区居民
  • 最爱沙发
  • 忠实会员
81楼#
发布于:2010-01-17 00:23
修改的脚本可以了,期待正式解决这个问题;

发现临时版的两个bug:
1.ctrl-添加高亮后,不关闭左侧的添加条,关闭右下角的功能条,此时点击页面内的一些按钮没反应,比如:快速回复下的预览、提交按钮;
2.跟1相同的情况下,左侧的添加条的按钮都不能用了,也不能再添加关键词,添加条也不能关闭。
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
82楼#
发布于:2010-01-17 00:23
发现临时版的两个bug:
1.ctrl-添加高亮后,不关闭左侧的添加条,关闭右下角的功能条,此时点击页面内的一些按钮没反应,比如:快速回复下的预览、提交按钮;
2.跟1相同的情况下,左侧的添加条的按钮都不能用了,也不能再添加关键词,添加条也不能关闭。

那句本来就只适用于静态网页,既然干扰这么大,那就算了吧。装回发布页上的最新版吧。

对现在的浏览器来说,网页局部的改变会造成 javascript 对此局部追踪的丢失,就像即使内容一样,指针还是必须重新定位。一旦有任何“后加载”内容依赖那些追踪,那么就必须将“后加载”内容所涉及的部分排除在局部改变之外。
简而言之,这是因为 javascript 只能单线程运行所引起的,是 javascript 本身能提供动态内容却不能实现动态运行的矛盾的结果。
在我的脚本来说,除了添加自动刷新——而这绝大多数情况下是不必要的——外没彻底解决办法。所以决定维持原状。
alanfly
千年狐狸
千年狐狸
  • UID31035
  • 注册日期2009-11-10
  • 最后登录2024-05-19
  • 发帖数2769
  • 经验580枚
  • 威望1点
  • 贡献值128点
  • 好评度102点
  • 社区居民
  • 最爱沙发
  • 忠实会员
83楼#
发布于:2010-01-17 00:23
那句本来就只适用于静态网页,既然干扰这么大,那就算了吧。装回发布页上的最新版吧。

对现在的浏览器来说,网页局部的改变会造成 javascript 对此局部追踪的丢失,就像即使内容一样,指针还是必须重新定位。一旦有任何“后加载”内容依赖那些追踪,那么就必须将“后加载”内容所涉及的部分排除在局部改变之外。
简而言之,这是因为 javascript 只能单线程运行所引起的,是 javascript 本身能提供动态内容却不能实现动态运行的矛盾的结果。
在我的脚本来说,除了添加自动刷新——而这绝大多数情况下是不必要的——外没彻底解决办法。所以决定维持原状。

感谢费心帮助。
fantasia
小狐狸
小狐狸
  • UID30332
  • 注册日期2009-09-09
  • 最后登录2017-12-16
  • 发帖数21
  • 经验16枚
  • 威望0点
  • 贡献值8点
  • 好评度0点
84楼#
发布于:2010-01-17 00:23
新版关闭高亮后刷新,又自动弹出来了

还有一个问题,添加关键词后按ESC退出,焦点去哪里了?按PAGE UP,PAGE DOWN无效
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
85楼#
发布于:2010-01-17 00:23
fantasia:新版关闭高亮后刷新,又自动弹出来了

还有一个问题,添加关键词后按ESC退出,焦点去哪里了?按PAGE UP,PAGE DOWN无效
回到原帖

1.确认你不是在自动高亮支持的网页上而且启用了自动高亮。
2.焦点去哪里我也不清楚,因为关闭关键词输入框之后原焦点所在的输入框就删除了,如果按数据库的指针理解应该是“溢出”了吧。按 PgDn 和 PgUp 是无效,但奇怪的是按 Up 和 Down 有效,而且按后问题也消失了。我觉得这像 Firefox 的 Bug,如果影响很大的话我让它随便在页面找个地方聚焦好了。
fantasia
小狐狸
小狐狸
  • UID30332
  • 注册日期2009-09-09
  • 最后登录2017-12-16
  • 发帖数21
  • 经验16枚
  • 威望0点
  • 贡献值8点
  • 好评度0点
86楼#
发布于:2010-01-17 00:23
1.关闭了自动高亮,普通网页ctrl-/添加关键词,关闭输入框,关闭高亮面板后,关键词还高亮着,刷新,再一次关闭面板才有效
2.按右边的的“X”的话焦点还在页面,PD,PU有效
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
87楼#
发布于:2010-01-17 00:23
第一个问题搞定了,还抓出了另一个 Bug,一会儿发修正版。
第二个问题是脚本的问题吗?焦点在这论坛底下的“快速回复”框中的时候 PgDn 和 PgUp 也不会滚动页面啊。所以情况是这样的(我想我搞清楚了),按 Esc 后焦点仍在已经消失的输入框中,所以 PgDn 和 PgUp 只是以移动输入框的光标的方式起作用;而点击“X”的话焦点仍在“X”上,但按钮元素不需要滚动自己,于是就滚动了页面。

也试着将焦点转移到 body 上,但效果跟 Up 和 Down 一样,也就是还是从页面最底开始滚动;即使这样在某些页面有时这四个键都不起作用。
解决方法是手动按一下 Tab 键。
fantasia
小狐狸
小狐狸
  • UID30332
  • 注册日期2009-09-09
  • 最后登录2017-12-16
  • 发帖数21
  • 经验16枚
  • 威望0点
  • 贡献值8点
  • 好评度0点
88楼#
发布于:2010-01-17 00:23
好像无什么变化。。。算了,还是用TAB-TAB-ENTER这个方法退出好了,不折腾了

顺便问多个问题:
http://userscripts.org/scripts/show/61372
添加了百毒百科,搜中文会乱码,有什么解决方法?

searchenginearray[8] = new Array(1, 'BK', 'word', 'baike.baidu.com', 'http://baike.baidu.com/searchword/?word=--keywords--&pic=1&sug=1');

searchenginearray[9] = new Array(1, 'BKS', 'word', 'baike.baidu.com', 'http://baike.baidu.com/searchword/?word=--keywords--&pic=2&sug=1');
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
89楼#
发布于:2010-01-17 00:23
百度百科就是不支持 utf-8 编码的关键词……
还不如把 url 改成
'http://www.google.com/search?q=--keywords-- site:baike.baidu.com&btnI=I'm Feeling Lucky'


或者,这个:http://board.mozest.com/viewthread.php?tid=34726&extra=&highlight=&page=1
游客

返回顶部