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

Enhanced word highlight “Slim” 设计预览和征求意见

楼主#
更多 发布于:2010-04-23 17:27
图在附件。
计划改进的地方有:
减少面板的高度;四个功能按钮一行显示;鼠标未移上关键词时黑条不显示;默认贴底边显示。
计划但可能有争议的地方有:
功能按钮单字母标示;取消关键词黑条,直接左/右键跳转下/上一个;不单独写“Slim”版而将设计加入到原版中。

关于之前有坛友希望(面板)垂直显示,我经过测试之后觉得不可行,因为关键词的长度会很大程度改变面板的面积,影响外观;而且不好放置分布图。

希望大家发表一下看法、意见和建议~

**关于高亮带空格、特殊符号等关键词的问题,我想在以后将其处理关键词的方式更改成统一转换成正则表达式(目前是正则和普通文字分开处理),做起来可能会很难……
Roysing
小狐狸
小狐狸
  • UID25930
  • 注册日期2008-08-22
  • 最后登录2011-03-20
  • 发帖数65
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2010-04-23 17:27
太好了,支持自动更新提醒了。
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
2楼#
发布于:2010-04-23 17:27
又安装了新版,有时候通过GM右键用户脚本命令,会发现显示为“P?T手动检查更新“字样,问号那个字母忘记了,反正就是三个字母。

用userscripts updater检测不出来有更新,它这个脚本只单纯检测版本号吧?

经过前几天的事件,这个为脚本加上自动更新的工具不知道还有参考价值否?
http://userscript-updater-generator.appspot.com/home

你给的那个就算了,我可不想向它贡献流量,更重要的是不想无端增加时间多经过一个网站。

另外显示字样的问题是因为更新脚本是通过上一次更新获得的信息填入脚本名称的,如果脚本无法获取更新(正常情况下应该是弹出“没有更新”或者出错信息,而不是什么都没有),这个名称自然也会出错。

另外:
[quote="userscripts.org"]Being DDOS again, this time 10,000 to 100,000 attempts at requests per second...

Trying to bring it back up with even more defenses

please learn how to use setTimeout properly

the load balancer is being overloaded ...

------------

There are ~10 scripts that are misbehaving.

Our current thought is to modify them to fix their updaters...

Most painful script is currently causing 109+ Mbps:

  By having the user download the entire source (~500k),
  each time the user loads their script

If you are a script author please remember to use
http://userscripts.org/scripts/source/(YOUR SCRIPT ID HERE).meta.js  
for your updating code.

-------------

Rewriting caching layer again to try to fix this

 - expect to push the new version by midnight PDT

Jesse - <!-- e --><a href="mailto:anotherjesse@gmail.com">anotherjesse@gmail.com</a><!-- e -->
[/quote]
官方说至少要到 PDT 时间今晚午夜,也就是北京时间今天下午三点,才能恢复正常。现已恢复正常了。
嗯……这样的话还不如让 Greasemonkey 内建个检查更新的 API 使得脚本开发者不需乱用检查更新函数。
----
已经更新至 V1.4.2。
Roysing
小狐狸
小狐狸
  • UID25930
  • 注册日期2008-08-22
  • 最后登录2011-03-20
  • 发帖数65
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2010-04-23 17:27
看来只能如此了。

又安装了新版,有时候通过GM右键用户脚本命令,会发现显示为“P?T手动检查更新“字样,问号那个字母忘记了,反正就是三个字母。

用userscripts updater检测不出来有更新,它这个脚本只单纯检测版本号吧?

经过前几天的事件,这个为脚本加上自动更新的工具不知道还有参考价值否?
http://userscript-updater-generator.appspot.com/home
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
4楼#
发布于:2010-04-23 17:27
应该是"/"的问题吧?因为我改ctrl+其他字母键都可以的。

直接用其键位码都不行,估计应该是特殊的吧。那样你需要到代码中把快捷键更改下了。
Roysing
小狐狸
小狐狸
  • UID25930
  • 注册日期2008-08-22
  • 最后登录2011-03-20
  • 发帖数65
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2010-04-23 17:27

已经提供快捷键了,FireGesture 模拟产生击键的脚本你自己搜一下好吧?除非要把鼠标手势功能造进脚本中,否则应该是 FireGesture 调用我脚本的功能而不是要我向它提供功能吧?


哦,我原先还没留意firegesture官网就有键盘响应的脚本,我指的就是这个功能。

搞了一下,没成功,应该是"/"的问题吧?因为我改ctrl+其他字母键都可以的。
请问我下面的代码是否引号出了问题,我记得某些特殊的字符要嵌套引号的?还是"/"这个键位要设定特殊的代码?

var evt = document.createEvent("KeyEvents");
evt.initKeyEvent(
  "keypress",
  true,
  true,
  null,
  true,  // holds Ctrl key
  false,  // holds Alt key
  false,  // holds Shift key
  false,  // holds Meta key
  evt.DOM_VK_DIVIDE,  // presses a special key, @see http://mxr.mozilla.org/mozilla/source/dom/public/idl/events/nsIDOMKeyEvent.idl
  "/".charCodeAt(0)  // presses a normal key, e.g. "A".charCodeAt(0),
);
document.documentElement.dispatchEvent(evt);
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
6楼#
发布于:2010-04-23 17:27
Roysing
就现在的宽屏显示器和各种浏览器工具条拥挤的情况说,屏幕高度是不足的,横向毕竟能利用宽屏显示器优势。
回到原帖

不考虑屏幕高度少于 768 像素的情况,那样的话只要工具栏不太过分是不会不足的。横向利用并不是非要一个窗口的东西占满全部宽度,而是允许横向并排两个窗口(根源还是面板厂商,明明面积小了还说“拓宽可视面积”);而且,连微软 Office2007 和 Office2010 都不提供垂直工具栏。


已经提供快捷键了,FireGesture 模拟产生击键的脚本你自己搜一下好吧?除非要把鼠标手势功能造进脚本中,否则应该是 FireGesture 调用我脚本的功能而不是要我向它提供功能吧?

[quote="Roysing"]
面板中关键词后面的总数,是否可以显示当前定位到第几个这样的格式,就像(2/10)这样显示现在定位的是10个关键词中的第二个。当鼠标在【关键词(数量)】上悬浮或者滚动的时候就用【当前/总数】替换掉【关键词(数量)】,否则默认一直显示多一组数字和一个/符号还是很占空间的。[/quote]
可以考虑一下把这个做出来,但不会在原来数字的位置显示,而是悬浮显示。
Roysing
小狐狸
小狐狸
  • UID25930
  • 注册日期2008-08-22
  • 最后登录2011-03-20
  • 发帖数65
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2010-04-23 17:27

减少面板的高度;四个功能按钮一行显示;鼠标未移上关键词时黑条不显示;默认贴底边显示。

减少面板的体积很重要,考虑到以后加入更多功能,用户才能有更多可是空间和更好的使用感受。


就现在的宽屏显示器和各种浏览器工具条拥挤的情况说,屏幕高度是不足的,横向毕竟能利用宽屏显示器优势。

[quote="hzhbest"]**关于高亮带空格、特殊符号等关键词的问题,我想在以后将其处理关键词的方式更改成统一转换成正则表达式(目前是正则和普通文字分开处理),做起来可能会很难……[/quote]
重新编译有助于吸取旧版的经验,精简优化代码,并且为扩展版本做些预留。

我安装新版后,发现记住面板位置后面板又消失了,在旧版帖子发帖了。

建议楼主配套把firegesture调用的脚本也写上一段,这样我也就可以最大限度的取代搜索栏了。

面板中关键词后面的总数,是否可以显示当前定位到第几个这样的格式,就像(2/10)这样显示现在定位的是10个关键词中的第二个。当鼠标在【关键词(数量)】上悬浮或者滚动的时候就用【当前/总数】替换掉【关键词(数量)】,否则默认一直显示多一组数字和一个/符号还是很占空间的。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
8楼#
发布于:2010-04-23 17:27
>本来想搞成投票帖,结果出错了,现在连编辑楼主帖也不能了……

那发布的时候最好还是开过一个主题吧。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
9楼#
发布于:2010-04-23 17:27
先多谢 arch7819 的代码(其实可以插入“代码”BBcode的),收起到时再用(其实还在探索各种方式中)。
----
本来想搞成投票帖,结果出错了,现在连编辑楼主帖也不能了……
----
然后我“独裁”地认为,“Slim”设计就是未来的方向,于是 EWH 的下一版就是这样的设计了(当然要比预览图好看一点)。
同时楼主帖的“争议”部分也全部被我实现了。
----
新的争议改进有:
增加自动更新;将全部高级设置添加到 GM 菜单。
----
10楼 第4点 被否决了,因为那样“突出”要太多鼠标触发语句,做出来也不一定美观,最后改成右上角自动隐藏,经过我试用,很合适。除此之外其他 UI 改进都已经实现了。
----
就差上面所说的“新的争议”部分了。另外今晚 userscripts.org 一直 500 错误……
arch7819
火狐狸
火狐狸
  • UID30890
  • 注册日期2009-10-29
  • 最后登录2011-02-19
  • 发帖数153
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2010-04-23 17:27
我日, 这论坛代码太白痴了....
正常文本换空格, 代码文本换全角空格.
arch7819
火狐狸
火狐狸
  • UID30890
  • 注册日期2009-10-29
  • 最后登录2011-02-19
  • 发帖数153
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
11楼#
发布于:2010-04-23 17:27
#var keywords =  "'' ' \" \\\\\\tdfs \\ f ' /aaa/k/ /bbb/i /cjk;'c\"dfdfd\"/g  哈哈 h 嘎嘎"
#var GF_DEBUG = true ;
#
#function parseKeywords (keywords) {
#    var o = " " + keywords + " ";
#    var i="", re=[], qu=[], nm= [];
#
#    while (true) {
#        i = o.replace(/\s\/(.*?[^\\])\/(i?m?g?)\s/," ");
#        if (i===o) break;
#        o = i;
#        try {    
#            re[re.length] = new RegExp().compile((RegExp.$1),(RegExp.$2));
#        } catch(e) { if (GF_DEBUG) throw "regexp wrong syntax in search keywords"; }
#    }
#    while (true) {
#        i = o.replace(/\s(["'])(.*?)\1\s/," ");
#        if (i===o) break;
#        o = i;    
#        qu[qu.length] = RegExp.$2.replace("\\n","\n").replace("\\r","\r")
#                            .replace("\\t","\t").replace("\\\\","\\")
#                            .replace("\\"+(RegExp.$1),(RegExp.$1));
#    }
#    while (true) {
#        i = o.replace(/\s(\S+?)\s/," ");
#        if (i===o) break;
#        o = i;    
#        nm[nm.length] = RegExp.$1;
#    }
#
#    return {
#        "keywords" : keywords,
#        "remain" : o,
#        "regexp" : re ,
#        "quote" : qu,
#        "normal;" : nm,
#    };
#}
#
#var r = parseKeywords (keywords)
#
自己干掉 #
hnstxx
千年狐狸
千年狐狸
  • UID1952
  • 注册日期2005-01-09
  • 最后登录2013-05-14
  • 发帖数4977
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于:2010-04-23 17:27
咱是懒人,等定版^_^
MM:你是个外表冷酷,内心却很甜蜜的男人。
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
13楼#
发布于:2010-04-23 17:27
其实主要在楼主帖中我认为有争议的几点,特别是是否需要另立“Slim”版的问题上,了解大家的意见后,我就可以开始做了。
楼上上的第9点太超前了,就是说把//之间的作为正则表达式,但是可以跟普通表达式混用,这个从外行的角度看都有点苛求了

我以为他在介绍正则表达式用法……
其实这个目前的脚本就已经有了,只不过不完美,我在发布页也已经详细说明了:

** 高亮正则表达式: 在脚本的默认设置下,如果已经有高亮的关键词,你需要清空关键词输入框的复选框(也就是选“New”),然后才能输入并高亮一条正则表达式。如果你希望添加正则表达式到高亮而不是取代,请将“sort_keywords”设置值(见下面的“高级设置”)设为“0”。

原脚本处理的方式很复杂,对正则表达式只能处理“一次”,于是不能跟普通文本关键词一起排序,也不能混输;另外处理双引号方面由于高亮函数中还有清理标点符号的函数,所以也只能通过自动高亮正确高亮带空格关键词——这个一方面我还没搞清楚那函数,一方面对处理符号的取舍也未理清,所以也未作处理。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
14楼#
发布于:2010-04-23 17:27
楼上上的第9点太超前了,就是说把//之间的作为正则表达式,但是可以跟普通表达式混用,这个从外行的角度看都有点苛求了
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
上一页
游客

返回顶部