标签 Chrome 下的文章

[UserScript] SpeciLink Remastered - 点击特殊链跳转至 115 云、迅雷离线、 QQ 离线和小米路由器进行下载

介绍

多年前写过一个 Firefox 扩展和一个油猴脚本
都是用来简化在浏览器上对“特殊链”的处理。
这么多年过去,
浏览器早已放弃 Firefox 改用 Chrome ,
“下载器”也从离线迅雷换到了 115 云
那么工具也该更新更新了。

之前的油猴脚本仍能够“部分”工作——
magnet: 之外的其它“特殊链”伪协议均不能注册到 Chrome 中。
于是抽空写了另一个脚本,
功能如下:

  • 支持处理 magnet:ed2k:thunder:flashget:qqdl 等俗称的“特殊链”;
  • 对于上述特殊链,支持点击后跳转至 115 云迅雷离线 QQ 离线小米路由器自动添加下载任务。

取名为 Specilink Remastered
是为了纪念之前的那个 Firefox 扩展。

配置项

脚本本身支持的配置项如下,
请打开脚本管理器在源码中编辑:

var Configs = {
    'enabled_handler'       : 'thunder', // “下载器”可选项:115, thunder, qq, miwifi
    'auto_add_task'         : true,      // 是否自动添加下载任务,否则需要你手动点击按钮
    'auto_add_task_timeout' : 10000,     // 自动下载的监听时间,单位毫秒
    'register_protocols'    : false,     // 是否注册为浏览器内置 Handler
    'debug_mode'            : false,     // 是否开启调试模式
};

- 阅读剩余部分 -

使用 XBL 为 Firefox 简单实现 FlashBlock

2012.09.04 更新

Firefox 终于追随 Opera 和 Chrome 之后实现了 Click to Play 的功能,
启用方法是在 about:config 中将 plugins.click_to_play 设置为 true

前几天我在评论里回答 echo·falsita 朋友时说:

“原生的 Click to Play 还无法很好的管理白名单”

在这里我表示抱歉(见下图)。

The 'Click to Play' Feature in Firefox

看来本工具“阳寿已尽”,多少有点儿伤感……

- 阅读剩余部分 -

浏览器的特征探测

【2010.12.08 更新】
抱歉,
用原生 IE9 测试后发现 IE9 的判断代码已失效,
研究将继续……

【2010.11.29 更新】
之前的 IE8 检测方式容易被“伪造”,
改为检查 Image 对象是否存在 prototype 的方式。(via)
另外有朋友说 IE8 的探测在 IE7 模式下也通过,
我想说这是我有意为之:
目的就是要探测浏览器本身的真实版本,
具体运行于哪种模式可以通过 doc.documentMode 来获得。

【2010.11.17 更新】
IE9 不知从哪个 Pre 版开始,
又恢复了之前更新时所提到的
非空数组字面量的最后一个元素缺失的问题,
也就是说这个 Bug 又得以“重现”了。
我个人推断是太多线上应用依靠这个 Bug 来识别 IE ,
因此开发团队不得已而为之。
但不管怎样,
本文还得继续。
目前利用了 IE9- 里 toFixed 方法在特定情况不会四舍五入的 Bug 来判定,
具体代码请见正文。


【2010.08.13 更新】
增强了 IE6 的区分能力。
当然更可以使用 IE 自己的条件编译,
只是有的压缩器支持度有限,
不便于日常开发。

【2010.04.18 更新】
更加严格地区分出了 IE 9,
增强了 Opera 的区分能力,
并将 Chrome 的判别特征换成了引擎特性 [via],
这样你就能看出国内哪些浏览器是从 Chrome 的内核改过来的了,
大家可以动手试试。 :)

【2010.04.17 更新】
IE 9 在我看来改进非常大:
有我所关心的对 Mutation Events 的支持,
还有事件模型的 W3C 化等等……
本文中我就不多冗述,
有机会再另文探讨。
由于在项目中大量使用特征判断,
IE 9 在这方面最显著的变化是:
之前那则“最短的 IE 判断法”已经失效,
一起被修复的还有一直伴随 IE 的数组 Bug:
非空数组字面量的最后一个元素缺失的问题(即:[null,]),
因此现如今的最短记录保持者(6字节的 !-[1,])也已然失效。(而且不支持 CC 压缩)
你也不要尝试使用 addEventListener 方法来判别,
因为 IE 9 已经支持了。(事件的改进非常大,这很好)
所以说 IE 已经越来越靠近标准,
如果在项目中有对 IE 进行特殊处理的代码,
你可能需要在 IE9下重新检查一下了。

由于我个人依旧是 XP 的忠实拥趸,
而 XP 又很悲剧地无法安装 IE 9,
所以一些测试是在 Haitao Jia 同学的协助下完成,
在此表示感谢。
也正因为如此,
我没有进行覆盖面太广的测试。
不过目前所发现的唯一“幸存”下来的 IE 系列 Bug 依旧与刚提到的数组 Bug 有关,
微软修复了字面量里的 Bug 却忘了当字符串被 split 成数组后却涛声依旧啊。
虽然判断起来稍微麻烦了点,
但不管怎样这是我目前发现的仅剩不多地可以用来判断 IE 全系列的代码:

- 阅读剩余部分 -