2008年3月31日
让新版的 Firefox 或 Safari 使用旧版的扩展或插件
浏览器要升级,新版本带来的新特性让人忍不住想尝鲜,那些旧的扩展(插件)怎么办?
事实上,有相当一部分的扩展或插件跟浏览器自身的版本关系不大,稍微修改下这些插件内部的一两个文件,使他在浏览器启动的时候能够被加载,基本上就能使用。
Firefox 的 Extension 可以这样修改:
- 把下载到的 .xpi 文件改为 .zip 压缩包;
- 解压缩,在得到的文件夹中找到 install.rdf 文件;
- 用文本编辑器打开,修改 <em:maxVersion>3.1.0</em:maxVersion> 这一行,将中间那个数值调大一些;
- 保存后,将刚才解压缩得到的文件重新压缩(注意文件结构),然后将扩展名该回 .xpi;
- 将最终的 .xpi 文件拖到 Firefox 的扩展管理面板,安装。
Safari 的 Plugin 可以这样修改:
- 找到 Plugin 的存放位置,一般在 /Library/Application Support/SIMBL/Plugins 目录下,.bundle 格式;
- 右键点击目标 Plugin , 选择“显示包内容”;
- 用文本编辑打开 Info.plist,编辑 <key>MaxBundleVersion</key> 这一行下面<string>5550</string> 中的数值,调大一些;
- 有时也需要同样调整 Resources/Info.plist 文件;
标签: Expression, Firefox, Safari, Software
IE 的 text-indent Bug
今天遇到的一个 Bug,主要表现为:当容器的第一个子元素为 inline 属性,并且为该子元素定义了 text-indent 的话,IE 渲染出错。阅读全文...
例子 1:
<div style="margin: 10px auto; padding: 10px; width: 400px; border: 3px solid #EEE;">
<span style="background: #FF0; color: red; text-indent: 50px;">Indent</span>
正文
</div>
在 Firefox 中,渲染正常:

在 IE6 中,错误:

错在 text-indent 只在 block 级别的元素中体现,在本例中的 span 元素中,应予忽略。
例子 2:
给 span 加个浮动,让它自动成为 block 元素看看。
<div style="margin: 10px auto; padding: 10px; width: 400px; border: 3px solid #EEE;">
<span style="float: left; background: #FF0; color: red; text-indent: 50px;">Indent</span>
正文
</div>
在 Firefox 中,渲染正常:

在 IE6 中,错误:

错在 span 将自身的 text-indent 属性传递给了它的父元素 div。
例子 3:
负值的 text-indent 会是怎样呢?
<div style="margin: 10px auto; padding: 10px; width: 400px; border: 3px solid #EEE;">
<span style="background: #FF0; color: red; text-indent: -9999px;">Indent</span>
正文
</div>
在 Firefox 中,渲染正常:

在 IE6 中,错误,我们什么也看不到了:

错在 span 不但将自身的 text-indent 属性传递给了它的父元素 div,而且还将超出的内容隐藏了,在没有定义 overflow 属性时,元素的默认 overflow 属性应该是 visible。
例子 4:
既浮动,又负值的 text-indent 呢?(事实上我正是在这种情况下遭遇了这个 Bug):
<div style="margin: 10px auto; padding: 10px; width: 400px; border: 3px solid #EEE;">
<span style="float: right; margin-left: 5px; width: 40px; background: #FF0; color: red; text-indent: -9999px;">Indent</span>
正文
</div>
在 Firefox 中,渲染正常:

在 IE6 中,仍然是错误:

依然是 span 将自身的 text-indent 属性传递给了它的父元素,并将超出的内容隐藏了。
以上的 Bug 在 IE8 的“IE7 mode”中得到了部分修正,当 span 为浮动时基本是正常的,但默认情况下仍然错误。其他版本未测试。
标签: browser-bugs, css, ie, web
Parallels memory error
启动 Parallels Desktop 时候偶尔会出现这样的错误:
Unable to allocate memory for monitor PE!
应该是虚拟机启动时,分配内存错误,在 Parallels 的官方论坛上,看来出现这个问题的人还不少,貌似还没有很好的解决方法。这应该是一个 Bug,因为我的机器内存已经升级到 4G,而且是在启动其他程序前启动的 Parallels,应该不会是内存不够用。
我的建议是,出现这个错误后,不要再尝试关闭 Parallels 后重新启动,否则迎接你的极可能是一次四国。你要做的是重启电脑,然后在开启其他程序前先启动 Parallels Desktop 虚拟机。
将 SVN 集成到 Finder
虽然 Leopard 默认就可以在终端窗口中进行 SVN 操作,但对于在 Windows 上被 TortoiseSVN 惯坏了的人来说,可能会感到极不适应。
当初我选择了 SmartSVN,觉得不错,直到我发现了 SCPlugin。
这是一款将 SVN 集成到 Finder 窗口的软件,可以如同 TortoiseSVN 般在文件图标上显示状态,可以通过右键进行 SVN 操作,总之跟 TortoiseSVN 很像,看看下图就知道了。

如果再搭配以 Subversion Script for Finder + QuickSilver,完美了。
