kraml
小狐狸
小狐狸
  • UID33654
  • 注册日期2010-08-10
  • 最后登录2016-10-21
  • 发帖数28
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
阅读:5447回复:14

[GM脚本]图片浏览增强脚本(2010.8.13 更新2.2版)

楼主#
更多 发布于:2010-08-10 14:53
脚本安装地址:http://userscripts.org/scripts/show/83311

本脚本有借鉴testte所写的image_location_v20.user.js脚本内的一些代码,特此表示感谢。

写这个脚本的目的是为了更加方便快捷的浏览网页上的图片。本脚本针对的是类似于论坛和博客页面那种,图片依次从上到下垂直分布,需要多次向下翻页才能看完的页面(本脚本不适合于图片横向或者格子状排列的页面)。试想如果页面上有很多图片,一页一页往下翻经常会遇到这样的情况:

-    一张图片正好在两页之间,要往回或者往下滚几行;
-    图片大小超过窗口/frame大小,要横向/竖向滚动;
-    图片偏小,细节看不清楚,要缩放页面;

使用这个脚本,可以直接用快捷键一张一张跳动,图片总是定位到窗口可视区域顶部,并且自动缩小大图片到合适大小。

关于2.0版本的Mode参数的说明:
我在2.0版本里面加入了一个新的图片枚举和循环跳转的方式,并加入了一个参数userprefs.mode来供配置选择。
-    mode=0时,还是旧版本的模式。当按上下跳转键时,从当前位置向下找,根据图片的位置找到第一个低于窗口上边缘(如果向上翻就是高于上边缘)的图片,跳转到该图片。该模式比较适合于图片顺序纵向排列下来的页面。
-    mode=1时,使用新的模式。不考虑当前窗口的位置,直接从第一张图片开始依次跳转。比较适合于图片分布比较凌乱的页面。

脚本默认是0模式,可以在配置界面修改,即时生效。

关于2.2版本的快捷键定制说明:
2.2版本开始userprefs中的快捷键配置不再是简单的一个charCode,而是一个shortCutKey(charCode, ctrlKey, altKey)对象。
以默认的下一张图片为例,shortCutKey(106, false, false),按键是j,ctrlKey和altKey的状态都是false,也就是单独按j键即可激活。如果要将快捷键改成Alt + J,只需要修改成shortCutKey(106, false, true)。也可以将后两个参数都设置为true,这样就是Ctrl + Alt + J。
Modifier Key目前只支持Ctrl和Alt,Shift并不支持。因为按下shift之后实际上改变了大小写,charCode也会变。

主要功能:
-    用快捷键进行浏览和图片操作
-    同时提供浮动按钮
-    自动缩小过大的图片
-    自动跳过小图片
-    对图片进行放大,缩小,新tab查看,旋转操作。


默认快捷键:
-    j/k: 下一张/上一张
-    f: 使当前图片大小适应窗口大小
-    o: 恢复当前图片大小到网页中指定的尺寸
-    n: 恢复当前图片大小到其本来大小
-    z/i: 放大/缩小当前图片
-    r: 顺时针90度旋转当前图片
-    v: 在新tab中打开图片查看


已知问题:
-    在Firefox 3.6 (测试版本3.6.8)中在百度贴吧无法跳动到图片。在Firefox 4(测试版本4.0b4pre)中跳转浏览图片正常,但缩放功能不正常。目前未知到底是Firefox的bug还是贴吧的页面不规范。
-    QQ空间图片无法跳转。QQ空间使用iframe结合脚本动态载入日志,现在的脚本还不能正确处理这种情况。改起来工作量比较大,加上调试困难,估计短期内不会解决这个问题。


定制:
所有的定制选项都在userprefs里面,可以修改的包括:
-    快捷键按键。这个脚本我exclude了gmail和greader,但是实际上应该可以用的,只是快捷键冲突了。想在gmail和greader里面用的朋友,自己修改该下快捷键就好了
-    图片边缘与页面边缘的间距。这个主要是为了有些图页上通常会有一些比较搞笑的文字,留点边距可以正好看得到
-    是否跳过小图片,以及最小的图片大小。这个不用说了吧,超过这个大小的就会无视
-    缩放的步进值。这个也不用说了吧
-    图片的边框颜色和宽度。用来高亮当前查看的这张图片。如果图片过大被缩小过,则用另外一种颜色的边框
-    是否把图片设置一个较大的z-index以保证图片显示在前面


历史:
-    2010/8/10 18:00 v1.2已经上传到us.o。根据论坛上的反馈修正了一些问题,并且加入了更新检查的代码,可以自动或者手动检查脚本更新。
-    2010/8/11 14:00 v1.3版本。改进了对最大尺寸的计算
-    2010/8/11 21:35 v2.0版本。此版本改进较大。增加了一个新的图片枚举和循环模式。增加了参数配置界面,按c呼叫。
-    2010/8/12 17:00 v2.1版本。改进了mode=1时的跳转处理逻辑,现在应该更加准确了。同时重构了上下跳转的代码,使得mode 0/1共享大部分代码。
-    2010/8/13 22:30 v2.2版本。快捷键加入了Ctrl/Alt组合键的支持。
zhx22601
小狐狸
小狐狸
  • UID30810
  • 注册日期2009-10-24
  • 最后登录2012-03-28
  • 发帖数89
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2010-08-10 14:53
试用了一下,这个脚本很不错,很方便。
这样的话图片浏览的操作就可以完全转到键盘上了。
可是图片另存为还要换成鼠标很麻烦,以前都是用鼠标手势的。有没有图片另存为的快捷键啊~~
kraml
小狐狸
小狐狸
  • UID33654
  • 注册日期2010-08-10
  • 最后登录2016-10-21
  • 发帖数28
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
2楼#
发布于:2010-08-10 14:53
我看看然后找时间试试看吧。因为加了图片另存之后肯定有人想要直接保存到某个指定目录,有人又想选择目录,还有人想自动按照时间什么的创建子目录之类的。等有时间了再来加把。
我自己目前是用easy dragetogo来拖拉保存图片,批量的图片保存用firegesture里面的哦keypress gesture功能。
mawith
火狐狸
火狐狸
  • UID18675
  • 注册日期2007-05-14
  • 最后登录2016-12-18
  • 发帖数263
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
3楼#
发布于:2010-08-10 14:53
额。。楼主既然是18的人
hoolooday
火狐狸
火狐狸
  • UID26508
  • 注册日期2008-10-02
  • 最后登录2015-05-22
  • 发帖数173
  • 经验11枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
4楼#
发布于:2010-08-10 14:53
楼主的脚本很实用.
但是,小弟用的vimperator的默认的就有jk和F
等.
不知道楼主脚本可以用组合键来实现吗?
kraml
小狐狸
小狐狸
  • UID33654
  • 注册日期2010-08-10
  • 最后登录2016-10-21
  • 发帖数28
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
5楼#
发布于:2010-08-10 14:53
hoolooday:楼主的脚本很实用.
但是,小弟用的vimperator的默认的就有jk和F
等.
不知道楼主脚本可以用组合键来实现吗?
回到原帖


请看更新过的顶楼,快捷键可以自己自定义的。不过组合键因为判断起来稍微有点不同,还要等将来改过代码之后才能支持。现在只能使用单按键作为快捷键。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
6楼#
发布于:2010-08-10 14:53
在heroturko上试用了一下,感觉非常不错,谢谢楼主这个脚本。

Already last image是不是可以改成“Last image reached”更合适一些?
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
kraml
小狐狸
小狐狸
  • UID33654
  • 注册日期2010-08-10
  • 最后登录2016-10-21
  • 发帖数28
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
7楼#
发布于:2010-08-10 14:53
kmc:在heroturko上试用了一下,感觉非常不错,谢谢楼主这个脚本。

Already last image是不是可以改成“Last image reached”更合适一些?
回到原帖


好吧,下次更新的时候改过来吧。
hoolooday
火狐狸
火狐狸
  • UID26508
  • 注册日期2008-10-02
  • 最后登录2015-05-22
  • 发帖数173
  • 经验11枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
8楼#
发布于:2010-08-10 14:53
kraml

请看更新过的顶楼,快捷键可以自己自定义的。不过组合键因为判断起来稍微有点不同,还要等将来改过代码之后才能支持。现在只能使用单按键作为快捷键。
回到原帖

感谢回复,单独的好像在我这里也没有测试成功.是fx4b2下,应该是我的问题呵.期待支持组合键.因为基本上vimperator把所有单键都用完了,没用的,不好按.
另外,我把快捷键更改为vimperator不用的了,也不能用,除非禁用vimperator要不用不了.晕死
just4fun
千年狐狸
千年狐狸
  • UID30408
  • 注册日期2009-09-17
  • 最后登录2016-04-28
  • 发帖数1497
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度2点
9楼#
发布于:2010-08-10 14:53
我也尝试一下吧
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
10楼#
发布于:2010-08-10 14:53
有时候按几下j后,看k会跳回到第一张图片,测试网站
http://www.heroturko.org/vectors/page/20/

但是这个问题不是总能重现
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
kraml
小狐狸
小狐狸
  • UID33654
  • 注册日期2010-08-10
  • 最后登录2016-10-21
  • 发帖数28
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
11楼#
发布于:2010-08-10 14:53
kmc:有时候按几下j后,看k会跳回到第一张图片,测试网站
http://www.heroturko.org/vectors/page/20/

但是这个问题不是总能重现
回到原帖


是用的最新的版本吗?mode是选的0还是1?在2.0版刚加入mode选择的时候有几个版本的图片索引计算有问题,新版本里面已经修正了。要不是装上最新的2.1.4版试试看吧。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
12楼#
发布于:2010-08-10 14:53
你的脚本会自动更新的,我的确实已经是2.1.4版。

默认是mode 0,我改成mode 1再观察几天。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
lijihuai
小狐狸
小狐狸
  • UID18887
  • 注册日期2007-05-21
  • 最后登录2010-10-05
  • 发帖数4
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
13楼#
发布于:2010-08-10 14:53
哈哈哈哈哈,不错不错,真的是很实用的呢
Moresam
小狐狸
小狐狸
  • UID26614
  • 注册日期2008-10-10
  • 最后登录2012-01-07
  • 发帖数89
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于:2010-08-10 14:53
4.0下按C键的配置不能用,有没有更新的意思呢。

另外,能不能加个配置,打开页面时就自动调整所有图片到“FIT”状态呢,现在看的图站图都好大,如果直接调整了,就不用每打开一个标签都按一下“J”来激活了,感觉这样好麻烦。
游客

返回顶部