标签 Mozilla 下的文章

使用 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

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

- 阅读剩余部分 -

[UserChrome.JS] 按黑名单定时清理 Firefox 的历史浏览记录

功能介绍

前儿边看球赛边写了个脚本,作用是定时去删除某些特定网站的历史记录;
但它不会去碰 Cookie 等信息,这也是和 Firefox 内置的 Private Browsing 功能的主要区别。
因为配合 ucjsPermission2.uc.xul 这类等脚本你可以对 Cookie 作更精确的控制。

使用之后会检查每次访问的域名,如果在黑名单之中便将其加入预删除列表,
每隔一刻钟便去清理相关的历史记录条目,
当然在你最后关闭 Firefox 时也会去清理一次。

配置项

const BLACKLIST = [
    'baidu.com',
    'google.com',
];

这里定义黑名单域名,它允许精确到某些子域名。
没有设计成正则匹配是因为觉得没必要,若有需求可以提。

const PURGE_TIME = 900000;

这里则定义每隔多少时间清理一次黑名单域名的历史记录,
单位是毫秒,预设是** 15 分钟**( 900000 毫秒)。

特别注意

假如你的黑名单太过庞大,倒不如直接关掉历史记录功能算逑——
请打开 about:configplaces.history.enabled 设置为 false 即可。

除了 Cookie 之外,Recently Closed Tabs 也不会清理,
后续可以考虑在最后关闭 Firefox 时将其清理掉。

下载地址

PrivacyPlus - An UserScript.js for Firefox

[UserScript] 将 Web 离线迅雷注册为磁力、电驴等特殊链的处理程序

介绍

Web 离线迅雷打开 ed2k 链接

不知标题是否写得太绕口,
简单地说就是将离线迅雷注册为某些特殊(伪)协议的默认处理程序,
包括迅雷快车旋风磁力电驴

08 年写过一个Firefox 扩展来做“解码”这件事,
现在有了 Web 离线迅雷 Web 离线旋风等吸血利器
我在 OSX 上连 P2P 软件都懒得装了。 😱

于是去年干脆写了段脚本做了标题所述之事,
当时还顺手写了个油猴脚本
但一直存在间歇性登录态丢失问题,
于是就搁置了一年未发;
最近研究迅雷联盟时偶有所得,
貌似可以解决上述问题,
于是趁今天有空更新了一下发布出来。

原理简单就不多着墨了,
请自行去阅读 navigator.registerProtocolHandler 的文档

至于兼容性,
脚本虽是为 Firefox 的 GreaseMonkey 所写,
但所有遵循 UserScript 规范的脚本管理器都可以使用;
Chrome 当然能用,
但貌似它对自定义协议有前缀限制;
而 Opera 则未经测试。

2012.03.24 更新:
虽然 UserScript 本身(作为一种事实规范)在各种浏览器上都有其实现,
但完全开放 navigator.registerProtocolHandler 接口的浏览器并不多。
目前本脚本只在 Firefox 上测试通过。

使用方法

  1. 安装并启用该脚本;
  2. 访问 离线迅雷, 请确认当前你处于未登录状态;
  3. 浏览器将会提示你是否授权将离线迅雷注册为上述(伪)协议的默认处理程序(如下图);
  4. 禁用(或干脆删除)本脚本,开始使用吧。

Firefox 询问你是否将 Web 离线迅雷注册为磁力链默认处理程序

历史

  • 2011.02.24 1.0: 初始发布
  • 2012.03.06 1.1: 解决登录问题,增加使用说明

下载

webThunderHelper.user.js

修复 Firebug 对无子节点的非自闭合标签的“识别问题”

【2010.01.21 更新】
前天发布的 Firebug 1.5 已经修复了这个 Bug。
本文将停止更新。
(实际上自发布后也没更新过 =_,=)

【2009.07.06 发布】
题目很拗口,
事实上想用一句话清楚地描述这个问题并不容易,
那么还是看图说话吧:

请打开淘宝网首页,
Firebug 查看“公告栏”区域的圆角区域(如下图),

淘宝网“公告栏”圆角

圆角的右上部分是用一个无子节点的 SPAN 标签实现的(如下图):

a blank non-self-closing tag issue of firebug - source viewing

那么问题出现了:
由于它是无子节点的,
因此它被 Firebug “误认为”是一个自闭合标签。

a blank non-self-closing tag issue of firebug - source editing

在实时编辑代码时问题亦然(如上图)。
而事实上 Firebug 遵循的 XML 标准,
这样处理是完全没有问题的。

无子节点的 SPAN 标签是否存在“语义问题”将不是本次讨论的重点,
毕竟我们还处于比较落后的兼容时代,
平时难免会遇到类似的麻烦。
特别是前端工程师将 Demo 页面完成交付开发工程师来拼装模板时,
如果开发工程师使用 Firebug 来复制代码,
那么在 IE 下将由于“SPAN 标签未被闭合”而发生错位(如下图):

- 阅读剩余部分 -

[UserScript] Web Assets Detector 1.4.4

Web Assets Detector

【最近更新】
改用 Canvas 来绘制图标,
另外增加了对 FlowPlayer、LongBoo、UIZE 和 Scripty2 的探测支持,
当然啦,
还有近期最吸引眼球的 Closure Library
Google 真是慷慨,
不仅是 Library ,
其它的“编译”和调试等配套工具也一并提供下载了,
在此膜拜一下。

============ 分割线 ==============
【090920 更新】
本脚本的首席贡献者兼热心粉丝 Jerone 君再次提出了宝贵意见
他希望本脚本能支持被延迟载入的脚本,
由于这类脚本的加载都发生于 Dom 树完成之后,
于是我增加了对 DOMNodeInserted 的监听来搞掂该需求。
该版本非必要更新,
但依旧推荐各位跟进。

【090906 更新】
脚本越来越大,
自身的数据管理就成了问题,
这次的更新主要是把样式和数据从核心脚本里剥离了出来,
脚本也从 28.8k 缩减至 1.9k (当然没有计算样式和数据部分)。
这样的改动有利于我对数据进行维护,
以后还将考虑将数据单独分发以实 现静默更新。
这次就暂不提供这样的功能了,
改革要慢慢的来。
该版本建议所有用户更新。

【090520 更新】
心里想着“这个脚本应该也能用来探测 CSS 库”,
于是就尝试着写出来了,
用的是 Xpath,
效率上应 该还不错。
其它的改进还包括美化了 UI,
应该不会有人抱怨说鼠标上移后看不清文字了吧?
关于识别范围我还想说一句:
不 想让这个脚本变成臃肿的东西,
(事实上目前 icon 数据已经有很大一段了)
希望支持的只是应用较广的框架和库,
否则探测也没 什么意义。
在我自己看来本身也就是个玩意儿而已。

【090401 更新】
今天要分享的是名为 JavaScript Library Detector 的油猴脚本。
(已更名为:Web Assets Dectector
虽然已经有非常多的同类产品,如
Library Detector」和「WTFramework」。
特别要提的是「WTFramework」,
虽然名字有涉嫌粗口,
但其 70+ 库/框架的覆盖率可不是盖的。

不过我这玩意儿的优点还在于处理了库/框架之间的依赖关系。
(貌似也仅次一项?)
就跟某人所说一样,
这是个体力活儿,
真要有精力应该写个扩展探测整个网站的环境:
从服务器签名到物理地址,
从 Alexa 排名到 PageRank 再到 SEO 分析结果,
要不要最后再公开站长的三围?
所以还是见好就收吧。

【目前该脚本所支持的库/框架】

- 阅读剩余部分 -