時計坂一刻館三号室

归类于 程式::五代 的日志存档

[080418] 天涯助手 1.3:高亮楼主 && 只看楼主 (UserScript)

屈超(沙滩凉鞋) 发表于 2008 年 4月 18 日 12 时 48 分

[080418]
修正本脚本在天涯某些使用 Ajax 进行分页的版面里无法正确获取首页楼主 ID 的 Bug……
使用鄙人所架设的 ChinaList for Pagerization 源的朋友……
如果想更好使用本脚本……
请在 Pagerization 的 Excluded Pages 添加以下页面……

http://cache.tianya.cn/publicforum/content/*
http://cache.tianya.cn/techforum/content/*
http://*.tianya.cn/new/publicforum/Content.asp?idWriter=*
http://*.tianya.cn/new/techforum/Content.asp?idWriter=*

经过鄙人测试……
该脚本应该算是比较圆满了……
如没有大的问题就不会再更新了……
:)

[080417]
终于解决了此脚本运行时出现的兼容问题……
我开始以为是 FF2 和 FF3 所渲染出来的页面差异问题……
害我昨天的更新还专门针对浏览器的大版本来区别处理……
今天找 ObiWan 测试后才知道“全世界”就我的 Firefox 渲染出来的页面代码不同……(笑)
我的系统和环境基本都是英文的……
不知道和语言版本有没有关系……
不过算了……
既然代码有些许不同……
我只好用正则来解决了……
起初怕正则效率低影响大伙儿的看帖热情……
写完后测试下发现还不错……
哎……
早就该采用正则 + Xpath 这样比较科幻的方法来解决的……
害我昨天白更新了……

浮动控制栏 今天最大的更新是添加了“浮动控制栏”……
Skyee 说这种方便的玩意儿是“小白专用”的……
那我觉得他应该就算最大的小白了……
浮动栏的效果不错……(如右图)
还可以从猴子命令里进行隐藏哟……(-__-|)

1.2 的更新内容如下:
1.添加浮动控制栏……
2.修正某些 Bug ……
3.改用正则替换解决版本间兼容问题……

============================================

[080416]
发布后收到许多 FF2 用户不能正常使用的反馈……
坐下来研究了下……
原来是 FF2 和 FF3 对 HTML 源码进行整理的结果不同所致……
无奈只能找出尘封已久的 FF2.0.014 测试并更新……
目前应该能支持 FF2 平台了……
另外……
Adblock+Firebug 等会对页面源码进行修改的插件也在一定程度上影响了脚本效果……
我只能尽可能地加以兼容……
GreaseMonkey 本身对脚本的影响也不小……
比如某些旧版本的猴子在读写选项值时是不支持 Unicode 字符的……
就需要用 encodeURI 和 decodeURI 加以处理……

1.1 的更新内容如下:
1.支持 FF2 平台……
2.修正某些 Bug ……
3.缩小代码重构范围来提高速度……

ToDo:
1.完善对某些特殊版面(使用 js 分页)的支持……
目前仅支持该类型版面(如开心乐园)帖子的第一页……

2.增加浮动按钮方便激活功能……
3.消除与 Pagerization 的冲突……

============================================

[080415]
几个月前就答应 Skyee 君要编写这样一个用户脚本(GreaseMonkey UserScript)……
而当时也确实着手去写了一个……
无奈天涯社区里帖子的 HTML 代码实在是太不规范……
无法用 XPath 去做预想中的操作……
然后编写工作就中断了……

近来天涯俨然成了我等“愤怒青年”(笑)的集散地……
闲暇时刻要在那里耗费不少时间……
而帖子里主次不分的回复也着实让俺深切体会到了 Skyee 君的痛苦……
于是乎俺下定决心要写为天涯论坛写一个“只看楼主”的猴子脚本了……

花了两个晚上的时间……
终于实现了这个功能……
天涯社区的帖子代码嵌套有不小问题……
导致 DOM 树生长得很畸形……
因此 XPath 只用在了取楼主 ID 这样的小地方……
真正的操作还是通过重构源码来实现的……
有兴趣的朋友还是直接看代码吧……

该脚本为用户提供了两个主要的功能……
一是仅显示楼主所发的帖子……(Ctrl - Y)
二是高亮显示楼主所发的帖子……(Alt - Y)
个人觉得第二个功能似乎还要更常用一些……
毕竟天涯里的回帖也是战斗的乐趣所在……
因此俺给高亮功能提供了较大的自由度……
你可以通过编写 CSS 自定义高亮的效果……
(默认是粗体+红色边框…… 详见后面的截图)

除了  Ctrl - Y 和 Alt - Y 两个快捷键……
你还可以通过状态栏的猴子的菜单命令来控制……
在猴子图标上点击右键并选择 User Script Commands……
选单中……
1.天涯助手 - 只看楼主/恢复
2.天涯助手 - 高亮楼主/恢复
3.天涯助手 - 隐藏浮栏/恢复
(自 1.2 起添加了浮动控制栏可供更方便地操作……)

下面来讲解一下功能配置……
在 GreaseMoneky 中选中本脚本并进行编辑……
脚本信息的下方便是配置代码段……

  1. /*-----------------------------------------------------------------------------
  2. * Configuration
  3. *-------------------------------------------------------------------------- */
  4. // Auto show author's only? [true or false]
  5. var AUTO_ENABLE = false;
  6.  
  7. // Auto highlight author's? [true or false]
  8. var AUTO_HIGHLIGHT = false;
  9.  
  10. // Disable the hotkeys? [true or false] (Note: Ctrl-Y to hide/show; Alt-Y to highlight/restore)
  11. var DISABLE_HOTKEY = false;
  12.  
  13. // Hightlight style, Sample: font-weight:bold!important;border:1px solid red;
  14. var HIGHLIGHT_STYLE = '';
  15.  
  16. // Normal style, Sample: font-weight:normal!important;border:0;
  17. var NORMAL_STYLE = '';

其中……
AUTO_ENABLE 设置是否自动开启“只看楼主”功能……(true 或 false)
AUTO_HIGHLIGHT 设置是否自动开启“高亮楼主”功能……(true 或 false)
DISABLE_HOTKEY 设置是否禁用快捷键……(Ctrl - Y 和 Alt - Y)
HIGHLIGHT_STYLE 设置高亮帖子的 CSS ……(默认是粗体加红框显示)
NORMAL_STYLE 设置非高亮状态时的 CSS ……

说这么多不如直接给出截图……
(截图来源于此贴……
如果您觉得截图内容侵犯了您的权益……
请联系我移除……)

原始状态:
原始状态

只看楼主 (Ctrl-Y):
只看楼主 (Ctrl-Y)

高亮楼主 (Alt-Y):
高亮楼主 (Alt-Y)

猴子命令:
高亮楼主 (Alt-Y)

浮动控制栏:
浮动控制栏

功能就介绍到这里……
感兴趣的朋友可以直接下载试用……
国外用户:http://www.QuChao.com/Projects/UserScripts/Tianya_Helper.user.js
国内用户:http://VIP.YYJoy.com/Chappell/UserScripts/Tianya_Helper.user.js
脚本官方http://UserScripts.org/Scripts/Source/25213.User.js

有什么意见和建议就留言吧……
如有需要俺会及时更新的……
今天就到这里吧……

5 则评论 | 永久链接 | Trackback | RSS 2.0

[080404] ChinaList for Pagerization 支持 VeryCD 全站

屈超(沙滩凉鞋) 发表于 2008 年 4月 4 日 0 时 30 分

终于有时间更新了……
因为老外的两个数据源已经不再支持 Baidu ……
那么我的 ChinaList 理所当然得接过了这个任务……
目前修复了百度绝大部分的常用服务……
除了图片和视频……
前者是使用 js 生成的链接……
后者则是用 js 控制着排版……
虽然最新版本的 Pagerization 已然增加对前者类型的支持……
(也就是说 cnBeta 这样的站将有可能自动滚屏成功……)
但 ChinaList 是一个 XPath 专用源……
如果添加了类似站点的支持……
不知道会不会对不同滚屏脚本的兼容度造成影响……
因此我暂时没有添加对百度图片的滚屏支持……
而百度视频由于排版的关系将不予支持……
规则已经注释在 ChinaList 页面源码内……
有兴趣地可以自行浏览……

目前我使用 FF3B4 + GreaseMonkey 0.7.20080121.0 + Pagerization 0.2.2a ……
使用正常……
(重新安装 Pagerization 别忘了添加 ChinaList 喔……)

=============== 华丽地分割 =================

沉寂了多日……
今天终于忍不住更新了……
为了方便自己长期关注“天使也魔鬼” MM ……
我终于加入了对 Mop 贴贴 的支持……
这样就能“一拖到底”了……
更有甚者居然要求我编写“只看楼主”的用户脚本……
我艹……
好色也该有个限度吧……
另附“天使也魔鬼”的更新帖地址供大伙儿体验……
请猛击:http://tt.mop.com/club/read_2033236.html

=============== 华丽地分割 =================

Pagerizations 是著名 Firefox 扩展—— GreaseMonkey 的一个 User Script……
简而言之就是一款用于自动读取分页形式下次页内容的脚本……
(与我之前写的 Baidu Auto Pager 效果相同…… 甚至更好……)
难能可贵的是作者为这个脚本实现了“数据源”的概念……
脚本自动缓存数据源的分页规则……
遇到匹配的网站便找出规则分析并予以处理……
目前官方非官方的数据源已经能处理数十个站点的分页了……
但其中外文站点占了绝大多数……
因此作为这个脚本的绝对拥趸……
我曾想过自己 Host 一个中文站点的数据源……
可惜人太懒……
未能付诸行动……

恰逢昨天有朋友通过 Baidu Auto Pager 的页面找到我……
希望我能帮忙编写“百度知道”的自动翻页脚本……
我想了一下……
与其另写一个脚本……
倒不如提供自己常用分页规则给大家……
于是乎……
我建立了这个名为“ChinaList for Pagerization”的源……

国内用户:http://vip.yyjoy.com/chappell/chinalist
国外用户:http://www.quchao.com/projects/chinalist

使用方法很简单……
先打开 Firefox gm_scripts 目录下的 Pagerization.user.js 文件……
再从上方两个数据源中选择适于自己网络环境的那个地址……
将其加入 SITEINFO_URL 数组……
添加完毕后……
数据源的定义部分应该看起来像这样:

  1. var SITEINFO_URL = [
  2. 'http://k75.s321.xrea.com/pagerization/siteinfo#function', // Official release data
  3. 'http://swdyh.infogami.com/autopagerize', // Autopagerize Wiki data. Xpath ONLY!!
  4. 'http://vip.yyjoy.com/chappell/chinalist', // ChinaList. Xpath ONLY!!
  5. ];

接着右键点一下小猴子的头像……
选择 User Script CMD -> Cache Update ……
当弹出 “Cache update complete” 后就算是添加完毕了……
接下来你就可以在 ChinaList 所定义的中文站点中享受自动翻页的服务了……

PS.
我希望作者能够将其作为原始数据源加入 Pagerization ……
那样就可以免去以上繁琐的更新过程了……

有点儿晚了……
睡觉觉去……

更新日志:
[071103]

初始版本,支援 Baidu (部分)、iAsk (几乎全部)和 BXNA ……

[071104]

支援 Sogou 全站、MXNA ……

[071106]

支援 Engadget、AutoBlog(除英文)……

[071109]

支援 Yahoo 全站(除“吃住玩”)……

[071113]

支援 XiaoNei 全站、TianYa 帖子……

[071117]

支援 YoDao 全站(除图片搜索)……

[080107]

支援 Mop 贴贴(不支持框架)……

[080120]

支援 Yupoo 全站……

[080329]

重新支援 Baidu 大部分服务……

[080404]

支援 VeryCD 全站……

39 则评论 | 永久链接 | Trackback | RSS 2.0

[080327] Rank Fetcher 2.3 支持 Quantcast Rank

屈超(沙滩凉鞋) 发表于 2008 年 3月 27 日 18 时 06 分

Rank Fetcher 2.3

080327 更新:

添加 Quantcast Rank 的支持……
修正 ChinaRank 无法获取的错误……
修正程序的一处小 bug ……

071109 更新:

没什么好说的……
ChinaRank 修正……

071013 更新:

Kumoo 报告无法运行于他 4.3 版本的 PHP 环境下……
现在修正了这个问题……
理论上支持 PHP 4.2+ 的环境……(未测试)

071001 更新:

重写了 Alexa 类反比百分比的计算代码……
添加了 AW 编写的 Flash 版本 RankShow ……
PS.文档将择日送上……

======================================

再拖延了数月之后……
凉鞋俺终于完成了 Rank Fetcher 2.0 的底层构建……
目前支持的 Rank 类型如下:

Alexa Rank
Google Page Rank
Sogou Rank
Chinarank
Compete Rank
Quantcast Rank

接下来是 ChangeLog :

增加:多域名(页面)查询(同时提供域名限制选项);
增加:提供 Compete Rank 查询;
修正:无法查询子域名 Google PR (因为不同页面 PR 值亦不同);
改进:以 JSON 格式输出(方便不同外壳调用);
改进:渐进式自动更新(不再同时更新所有 Rank);
改进:自定义手动更新 Key (预防恶意刷新);
改进:自定义缓存文件(必要时可供切换)

另外……
本次还与 AWFlasher 合作……
由他提供名为 RankShow 的 Flash 外壳……
但目前无法与他取得联系……
(昨天还在 Gtalk 上说好了来着……)
因此这部分暂且搁下不谈……

演示:http://demo.quchao.com/rank/
下载:http://www.box.net/shared/xh1xxwrwo4

之前的版本至此不再提供支持……
那么……
今天就到这里……

10 则评论 | 永久链接 | Trackback | RSS 2.0

Vimperator Plugin for “IE Tab” ver 0.0.1

屈超(沙滩凉鞋) 发表于 2008 年 2月 1 日 23 时 35 分

Vimperator 自 0.5 以来就支持了插件系统……
而所谓的插件……
无非就是一个 JS 而已……
所以看看 Vimperator 和其它扩展的源码就能写出来……
今天抽空为 IE Tab 写了一个 Vimperator 插件……
功能嘛……
就是给 IE Tab 在 Vimperator 里添加了 Command 和 Mapping ……

用法如下:
(假设 IE Tab 的设置为 ‘alwaysNewTab’ = false)

NORMAL 模式下:
:ie 在本标签页切换当前页面浏览引擎;
:ie! 在新标签页切换当前页面浏览引擎;
:ie e 在外部程序浏览当前页面;
:ie o 打开 IE Tab 选项页。

HINT 模式下:
i 在本标签页使用 IE Tab 打开链接;
I 在新标签页使用 IE Tab 打开链接;
e 在外部程序打开链接。

下载后放到 vimperator\plugin 下……
重启 Firefox 后它会自动加载……
如果你还不知道 Vimperator 为何物……
那么请移步这里……

下载地址如下:(请右键另存)

官方下载http://vimperator.mozdev.org/scripts/ietab.js
国内用户http://vip.yyjoy.com/chappell/vimperator/plugin/ietab.js
国外用户http://www.quchao.com/projects/vimperator/plugin/ietab.js

插件已经发到 Vimperator Mailing List 了……
不知道什么时候才有个回音儿……
今天就到这里……

23:31 更新:
官方已经在 Script List 里增加了本插件……
哦耶……

一则评论 | 永久链接 | Trackback | RSS 2.0

[080130] QR Code 二维码制作与识别软体绿色汉化版更新……

屈超(沙滩凉鞋) 发表于 2008 年 1月 30 日 22 时 07 分

[更新日志]

080130:版本更新:支持 Vista 、支持 TIFF、GIF、PNG 等格式等……
061211:补档……

QR Code

前两天回头研究 QR Code 的资料时……
发现这个软件更新了……
于是也更新了自己维护的汉化版……
更新日志恕不冗述……
请自行检查……

——————— 华丽的分割 ———————

日前中国移动公布了二维码应用方案……
不过很明显是修改过的 Data Matrix 格式二维码……
(而台湾的 QuickCode 则是修改于日本传统的 QR Code ……)

刚和一位二维码同好聊了聊中国移动的二维码……
了解了一些中国移动的二维码物语……
而且据说移动的 QR Code 格式业务马上就会上线……
不知道资费以及软件支持如何呢?

于是我又回头看了很久以前翻译的那个 QR Code 制作软体……
找到两处未翻译完全的地方……
并添加了一处下载点……

——————— 华丽的分割 ———————
软件截图
最近正在研究这个东西……
然后自己抽空汉化了这个软件……

右边的图便是用此软体生成的……
日本的朋友可以用手机扫描一下此图试试……

当然了……
该软体自己也提供识别功能的……
功能很简单……
而且我也汉化了……
就不多作介绍了……

另外……
最近我会写一篇全面介绍 QR Code 的文章贴出来……
并且会提供线上 QR Code 作成服务……
争做国内 QR Code 推广急先锋…… (寒……)

提供下载: http://www.live-share.com/files/302471/QRCodeEdit.zip.html

(汉化版软件转载请保留本日志地址…… 谢谢合作……)

30 则评论 | 永久链接 | Trackback | RSS 2.0

SpeciLink Decoder/Encoder Extension 1.0 for Firefox 正式发布…

屈超(沙滩凉鞋) 发表于 2008 年 1月 9 日 6 时 45 分

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Icon
SpeciLink 以 Special Link 合成命名……
指以下三种“著名的”专用链接协议……

迅雷(Thunder)的 thunder://
快车(FlashGet)的 flashget://
旋风(QQDownload)的 qqdl://

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Addon Preview

目前版本 1.0 ……
支持将普通链接协议(file, ftp, http, mms, rstp 和 https)
与上述三种特殊链接进行多方转换……

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Context Menu Items

由于是初始版本我只自己翻译了如下四种语言包……

美式英语(en-US)、日本语(ja-JP)、简体中文(zh-CN)和繁体中文(zh-TW)

由于扩展的目的相当单纯……
因此基本支持所有平台的 Firefox ……
扩展中规定的是兼容 1.5 - 3.0 beta 3 ……
如果您发现您用不了……
给我留言吧……

装方法不再冗述……
下载了拖进 Firefox 即可……

使用方法“冗述”如下……
首先找到需要解密的资源链接……
本例中选择的是快车专用链接……
注意看状态栏……

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Guide step 1

在该链接上点击右键……
出现了 SpeciLink 选单……
出现了与快车相关的三个选项……
分别是解密和转换为其它两种专用连接……

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Guide step 2

选择第一项对其进行解密……
无声无息地完成了操作……
再次移到链接上……
发现链接已经被解密为普通的 http 链接……
注意看状态栏……

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Guide step 3

既然已经被转换为普通链接……
您就可以使用您喜欢的下载方式(工具)来下载它了……

SpeciLink Decoder/Encoder Extension 1.0 for Firefox - Guide step 4

今早已经提交到火狐官方了……
没想到这么久没去……
竟多了个 SandBox 系统……
看来本扩展想从 SandBox 转到 Public 还得耗上点儿时间……
那么直接在本日志提供下载吧……
注意日志尾部……

这是俺的第二款 Firefox 扩展……
花了一晚上……
初衷其实是想方便自己下载那些专用链资源……
因为自己使用的 Firefox + FlashGot + IDM 的组合……
如果你也和我一样有此烦恼……
(人数肯定不多…… -__-)
我相信它一定还是对你有一定帮助滴……

下一步……
准备直接调用 FlashGot 等下载管理器试试……
还有添加少量选项……
恩……
今天就到这儿了……
有意见请留言……

提供下载……

国外: http://www.QuChao.com/projects/specilink/specilink_1.0.xpi
国内: http://VIP.YYJoy.com/Chappell/specilink/specilink_1.0.xpi

29 则评论 | 永久链接 | Trackback | RSS 2.0

WordPress 2.3 is released.

屈超(沙滩凉鞋) 发表于 2007 年 9月 25 日 12 时 26 分

2.3 的正式版释出……

1.内置的 Tag 功能……
2.新式更新提醒……
3.更适应 SEO 的规范 URL ……
4.适合多作者编辑的审核机制……
5.全新的可见即所得编辑器……

而我的部落格新风格也即将开始进入日程……
首先当然是改用内置的 Tag 功能……
其次则要优化一些风格上的特效……
(现在的部落格臃肿不堪……)
至于配色嘛……
大概……
是我中意的粉红色系吧……
(羞)

5 则评论 | 永久链接 | Trackback | RSS 2.0

[2007.07.20] Baidu Auto Pager 1.1 (A GreaseMonkey Addon)

屈超(沙滩凉鞋) 发表于 2007 年 7月 20 日 7 时 50 分

[2007.07.20]
刚去 UserScripts 找脚本时顺便看了一下自己的页面……
寒……
居然还有留言……
仔细一看……
人家是报错的……
原来上次提交的时候传了个未写完的文件……
这次修正了……
顺便添加了个页数显示……
PS.
实际上俺自己已经开始用 Pagerization 了……
真是不厚道……

[2007.06.02]
为了节省资源一直不敢用 GreaseMonkey ……
昨天实在受不了 IE TabBtChina 的处理速度了……
于是可耻地向 GreaseMonkey 妥协了……
果然装了 Show Btchina 之后访问它起来就快多了……
(而且连广告都没有了……)
之后还装了 GoogleAutoPager 等 Addons ……

接着就自己写了一个 BaiduAutoPager ……
由于百度惯用 GB2312 ……
因此正好利用 Firefox 的 overrideMimeType 特性来解决 XMLHTTP 乱码问题……
暂时还没支持 Baidu MP3贴吧等部分……
等下次升级吧……

作用嘛……
不用多说了……
就是随着页面不断往下翻页……
陆续在同一页面显示下个分页的 Baidu 的搜索结果……
当然前提是搜索结果足够多……
双击页面即可开/关这个功能……

上个图看看……

Demo for BaiduAutoPager 1.0

GreaseMonkey 用户可直接点下列 URI 进行安装:
http://userscripts.org/scripts/source/9610.user.js

3 则评论 | 永久链接 | Trackback | RSS 2.0

[070719] 《DQ & FF 富豪街》汉化进度…… 中文 Logo 小样释出……

屈超(沙滩凉鞋) 发表于 2007 年 7月 19 日 4 时 43 分

[2007-7-19 更新]
很抱歉……
PSP 上这款高质量游戏的汉化进度直到今日才更新……
一直以来陆续有朋友询问我该游戏的进度……
我只能回答他们:“正在汉化中”……
翻译是主要的问题……
因为对于涵盖 DQ 和 FF 两大体系的一些专有知识的本游戏来说……
我可不想草草翻译了事……
有两点我可以保证:
1.汉化正在继续……
2.该游戏的汉化不会烂尾……

说完枯燥的东西……
应该送上一些精彩的了……
那就是来自美工—— Deapho 君的中文 Logo 小样……
我个人非常喜欢……
当场拍板说“富豪街的汉化美工就是你了”……
图,就不多解释了……
直接看图吧……

这是原图:
DQ&FF Logo 原图

以下是中文 Logo 小样:
DQ&FF Logo 汉化版小样

DQ&FF Logo 汉化版小样 2

当然……
仅仅是小样……
瑕疵也有一些……
比如正中间那个很大的“ポ”……
(我正寻思着换点儿什么好呢?)
再比如 ALPHA Mask 也出了点儿问题……
这个以后解决吧……
最近一个多月得忙一个项目了……
更新放慢……
见谅……

目录:

20 则评论 | 永久链接 | Trackback | RSS 2.0

[070520] 自用 Javascript 缩图函数 (onDOMLoaded)……

屈超(沙滩凉鞋) 发表于 2007 年 5月 20 日 8 时 24 分

[更新日志]

070520:Norman 君给出了 Dean Edwards 等关于 onDOMLoaded 事件的跨浏览器解决方案……
其实 onDOMLoaded 是 DOM 被载入(图片尚未载入)状态下的一个“不存在的”事件……
由于不同浏览器的支持度不同……
所以需要进行 Hack ……
所幸 Dean 和其他一些朋友反复研究后给出了解决方案……
在此表示感谢……
对于缩图函式本身的改进就是合并了上个版本的两个不同模式(快速和平缓)……
所谓快速模式是用了 while 循环……
速度快但是容易造成假死……
所谓平缓模式则用 setInterval 函式来解决上述问题……
可惜 setInterval 有最短周期限制……
所以速度比较慢……
从快速到平缓模式的切换临界值我设置为 500 ……
也即当一个页面的图片达到 500 时便启用平缓模式来缩图……
大伙儿可以根据自己需求更改……
具体请看 resizeImgs 函式的第二行……

070516:感谢 Norman 君在提升代码性能上的建议……
将遍历所有元素更改为遍历图像数组……
至于 Norman 所提议的在图像读取之前即进行缩图的功能……
未能实现……
一来是因为 Firefox 并不支持 onreadystatechange 事件(只有 onload ?)……
二来则在测试中发现 IE 下在 interactive 状态下调整图像大小也需要刷新以后才能执行……
也就是说都得等到页面加载完毕(或者加载一次)后才能进行操作……
恕鄙人才疏学浅……
如有解决方案望留言教授……

原理呢……
就是遍历图像数组……
如果定义了 resize 属性就进行缩图……
当 resize 的值为数字(而且小于原图宽度)就缩小到该数字宽度……
当 resize 为其它值则缩小到预设宽度……
至于为什么要清除 height 属性……
答曰:为了保持宽、高之比……
以上……

由于代码过长……
暂不贴出……
使用方法请参看 Demo ……

演示http://Demo.QuChao.com/Resize/
下载http://www.box.net/shared/semf3lqy2h

补充
回应某朋友在 IM 上的疑惑……
JS 的缩图是和服务器端语言不同滴……
有锯齿(或者叫“失真”?)是正常滴……
而且把“能耗”转交给客户端是“不负责任”滴……
所以尽量不要在所谓的“杀猫帖”中使用……
因为 JS 去遍历这些图片元素需要时间……
而且“缩略”的动作直到所有图片读取完成才会生效……
完全就没有效果了嘛……

14 则评论 | 永久链接 | Trackback | RSS 2.0

播放器加载中……
读取中……
图书数据加载中……
读取中……
剧集数据加载中……
读取中……
专辑数据加载中……
读取中……
游戏数据加载中……
读取中……
歌曲数据加载中……
读取中……
股票数据加载中……
读取中……
通讯方式加载中……
读取中……
QR Code 加载中……
读取中……