<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ftofficer&#124;张聪的blog &#187; 我的作品</title>
	<atom:link href="http://blog.ftofficer.com/category/%e6%88%91%e7%9a%84%e4%bd%9c%e5%93%81/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ftofficer.com</link>
	<description>A Newbie on the Way</description>
	<lastBuildDate>Fri, 10 Feb 2012 03:27:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>liboi 0.0.3 &#8211; 增加Windows平台支持</title>
		<link>http://blog.ftofficer.com/2009/12/liboi-0-0-3-added-windows-support/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.ftofficer.com/2009/12/liboi-0-0-3-added-windows-support/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 18:14:32 +0000</pubDate>
		<dc:creator>Zhang Cong</dc:creator>
				<category><![CDATA[eink设备]]></category>
		<category><![CDATA[我的作品]]></category>
		<category><![CDATA[liboi]]></category>
		<category><![CDATA[openinkpot]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.ftofficer.com/?p=10306</guid>
		<description><![CDATA[liboi发布0.0.3版。该版本主要做到Windows的移植工作。目前liboi同时支持Windows和Linux。 下载： http://code.google.com/p/liboi/downloads/list Windows用户请注意下载 liboi-0.0.3.zip文件。*.tar.gz和bz2文件都只打包了Linux编译需要的文件。 接下来0.0.4主要是Windows平台上的一些重整工作，例如把第三方依赖拿出来，tar.gz和bz2也打包Windows平台需要的文件。 你也许会喜欢： liboi 0.0.2 &#8211; 为OpenInkpot提供客户端支持 liboi &#8211; 管理基于OpenInkpot的电子书设备的支持库 TabIMSwitch接下来的工作 Google Safe Browsing API 标准太多是复杂的根源]]></description>
			<content:encoded><![CDATA[<p>liboi发布0.0.3版。该版本主要做到Windows的移植工作。目前liboi同时支持Windows和Linux。</p>
<p>下载： <a href="http://code.google.com/p/liboi/downloads/list">http://code.google.com/p/liboi/downloads/list</a></p>
<p>Windows用户请注意下载 liboi-0.0.3.zip文件。*.tar.gz和bz2文件都只打包了Linux编译需要的文件。</p>
<p>接下来0.0.4主要是Windows平台上的一些重整工作，例如把第三方依赖拿出来，tar.gz和bz2也打包Windows平台需要的文件。</p>
<p><strong>你也许会喜欢：</strong>
<ul class="similar-posts">
<li><a href="http://blog.ftofficer.com/2009/12/liboi-0-0-2-release-note/" rel="bookmark" title="2009年12月27日">liboi 0.0.2 &#8211; 为OpenInkpot提供客户端支持</a></li>
<li><a href="http://blog.ftofficer.com/2009/12/liboi-initialized/" rel="bookmark" title="2009年12月23日">liboi &#8211; 管理基于OpenInkpot的电子书设备的支持库</a></li>
<li><a href="http://blog.ftofficer.com/2007/07/tabimswitch%e6%8e%a5%e4%b8%8b%e6%9d%a5%e7%9a%84%e5%b7%a5%e4%bd%9c/" rel="bookmark" title="2007年07月28日">TabIMSwitch接下来的工作</a></li>
<li><a href="http://blog.ftofficer.com/2007/06/google-safe-browsing-api/" rel="bookmark" title="2007年06月22日">Google Safe Browsing API</a></li>
<li><a href="http://blog.ftofficer.com/2007/08/%e6%a0%87%e5%87%86%e5%a4%aa%e5%a4%9a%e6%98%af%e5%a4%8d%e6%9d%82%e7%9a%84%e6%a0%b9%e6%ba%90/" rel="bookmark" title="2007年08月31日">标准太多是复杂的根源</a></li>
</ul>
<p><!-- Similar Posts took 5.208 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftofficer.com/2009/12/liboi-0-0-3-added-windows-support/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>liboi 0.0.2 &#8211; 为OpenInkpot提供客户端支持</title>
		<link>http://blog.ftofficer.com/2009/12/liboi-0-0-2-release-note/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.ftofficer.com/2009/12/liboi-0-0-2-release-note/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 17:59:11 +0000</pubDate>
		<dc:creator>Zhang Cong</dc:creator>
				<category><![CDATA[eink设备]]></category>
		<category><![CDATA[我的作品]]></category>
		<category><![CDATA[liboi]]></category>
		<category><![CDATA[openinkpot]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.ftofficer.com/?p=10292</guid>
		<description><![CDATA[完成了liboi 0.0.2版本，发布在了google code上。 0.0.2版本增加了文件移动的操作，可以将文件拷贝到设备上，或者从设备上拷贝出来。 下载：http://code.google.com/p/liboi/downloads/list 接下来开始做到Windows的移植工作。 你也许会喜欢： liboi 0.0.3 &#8211; 增加Windows平台支持 liboi &#8211; 管理基于OpenInkpot的电子书设备的支持库 Google Safe Browsing API TabIMSwitch接下来的工作 Google Safe Browsing API Demo]]></description>
			<content:encoded><![CDATA[<p>完成了liboi 0.0.2版本，发布在了google code上。</p>
<p>0.0.2版本增加了文件移动的操作，可以将文件拷贝到设备上，或者从设备上拷贝出来。</p>
<p>下载：<a href="http://code.google.com/p/liboi/downloads/list" target="_self">http://code.google.com/p/liboi/downloads/list</a></p>
<p>接下来开始做到Windows的移植工作。</p>
<p><strong>你也许会喜欢：</strong>
<ul class="similar-posts">
<li><a href="http://blog.ftofficer.com/2009/12/liboi-0-0-3-added-windows-support/" rel="bookmark" title="2009年12月28日">liboi 0.0.3 &#8211; 增加Windows平台支持</a></li>
<li><a href="http://blog.ftofficer.com/2009/12/liboi-initialized/" rel="bookmark" title="2009年12月23日">liboi &#8211; 管理基于OpenInkpot的电子书设备的支持库</a></li>
<li><a href="http://blog.ftofficer.com/2007/06/google-safe-browsing-api/" rel="bookmark" title="2007年06月22日">Google Safe Browsing API</a></li>
<li><a href="http://blog.ftofficer.com/2007/07/tabimswitch%e6%8e%a5%e4%b8%8b%e6%9d%a5%e7%9a%84%e5%b7%a5%e4%bd%9c/" rel="bookmark" title="2007年07月28日">TabIMSwitch接下来的工作</a></li>
<li><a href="http://blog.ftofficer.com/2007/06/google-safe-browsing-api-demo/" rel="bookmark" title="2007年06月24日">Google Safe Browsing API Demo</a></li>
</ul>
<p><!-- Similar Posts took 5.007 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftofficer.com/2009/12/liboi-0-0-2-release-note/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>liboi &#8211; 管理基于OpenInkpot的电子书设备的支持库</title>
		<link>http://blog.ftofficer.com/2009/12/liboi-initialized/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.ftofficer.com/2009/12/liboi-initialized/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 18:29:22 +0000</pubDate>
		<dc:creator>Zhang Cong</dc:creator>
				<category><![CDATA[eink设备]]></category>
		<category><![CDATA[技术]]></category>
		<category><![CDATA[我的作品]]></category>
		<category><![CDATA[eink]]></category>
		<category><![CDATA[liboi]]></category>
		<category><![CDATA[openinkpot]]></category>

		<guid isPermaLink="false">http://blog.ftofficer.com/?p=10284</guid>
		<description><![CDATA[自从用了OpenInkpot，并且推荐了几个用v3的朋友换成OpenInkpot之后，越发觉得，对于普通用户来说，管理阅读器相当的麻烦，三天两头就需要提供技术支持，从安装字体到拷贝书籍再到配置系统，不一而足。 因为OpenInkpot在V3上使用USB RNDIS驱动连接阅读器和PC，并且通过SSH的方式连接设备，但是SSH的设置步骤复杂，而且在Vista x64和Win7这种比较新的操作系统上面总有些问题，对用户要求比较高。 其实V3的这种连接模式比较像Windows Mobile手机的方式，这种方式在具有一个客户端的时候有很大的灵活性，例如WM手机的Active Sync。另外就是等待OI支持USB Mass Storage，即模拟一个U盘出来的方式，但是看起来一时半会儿也没有做的计划。 但是OI有它的好处，就是很多可以自定义的东西，例如阅读器的键绑定——我一直想把翰林V3左侧的翻页键互换——但是修改的方式需要用户ssh到阅读器修改。这对于普通用户来说简直就是噩梦。 同时，OI还有一些问题，例如在0.2 rc5当中添加的libextract，即在书架模式下显示书籍的元信息，而不是文件名，在很多时候其实是有问题的。官方的绕过方式是重命名一个文件，但是同样需要ssh到阅读器修改。 由于这些问题，最好有一个可以用来管理电子书设备的客户端软件。这个软件也许可以做下面的事情： 自动配置电子书的USB RNDIS连接 书籍搜索、下载和同步 数据的同步，例如书签 状态备份和恢复，例如当前阅读的图书的页码，书籍版式（横屏，切白边等）。 安装字体 设备软件更新 设备配置修改，例如修改键绑定 其他工具性的功能，例如拷屏 等等。 但是前提是要有一个客户端软件。因此最近先整了一个基础库，取名 liboi，即lib-openinkpot之意，host在Google Code上面： http://code.google.com/p/liboi/。经过几个星期的晚上+周末的工作，现在把0.1版本放出来，这个版本支持最简单的功能： 根据默认的SSH配置连接阅读器。 获取阅读器信息，类似OpenInkpot版本号 在阅读器当中执行命令（有了这个功能剩下的就是想象力了） 目前只支持Linux平台，请在项目主页上下载源码包自行编译。源码包当中有oish.c文件，会生成一个oish（OpenInkpot Shell）的程序，可以作为例子程序使用。 后面的事情，主要包括： 拷贝文件，包括拷进来和拷出来。 Windows Porting SSH自动配置 另外招募擅长客户端界面的同仁开发客户端GUI，我要做的话估计界面会很丑。当然了，没报酬，代码开源，纯自愿参与。 你也许会喜欢： liboi 0.0.3 &#8211; 增加Windows平台支持 liboi 0.0.2 &#8211; 为OpenInkpot提供客户端支持 电子书管理软件Calibre OpenInkpot 0.2 中文化进度 我的项目]]></description>
			<content:encoded><![CDATA[<p>自从用了OpenInkpot，并且推荐了几个用v3的朋友换成OpenInkpot之后，越发觉得，对于普通用户来说，管理阅读器相当的麻烦，三天两头就需要提供技术支持，从安装字体到拷贝书籍再到配置系统，不一而足。</p>
<p>因为OpenInkpot在V3上使用USB RNDIS驱动连接阅读器和PC，并且<a href="http://openinkpot.org/wiki/Documentation/ConnectViaSSH" target="_self">通过SSH的方式</a>连接设备，但是SSH的设置步骤复杂，而且在Vista x64和Win7这种比较新的操作系统上面总有些问题，对用户要求比较高。</p>
<p>其实V3的这种连接模式比较像Windows Mobile手机的方式，这种方式在具有一个客户端的时候有很大的灵活性，例如WM手机的Active Sync。另外就是等待OI支持USB Mass Storage，即模拟一个U盘出来的方式，但是看起来一时半会儿也没有做的计划。</p>
<p>但是OI有它的好处，就是很多可以自定义的东西，例如阅读器的键绑定——我一直想把翰林V3左侧的翻页键互换——但是修改的方式需要用户ssh到阅读器修改。这对于普通用户来说简直就是噩梦。</p>
<p>同时，OI还有一些问题，例如在0.2 rc5当中添加的libextract，即在书架模式下显示书籍的元信息，而不是文件名，在很多时候其实是<a href="http://openinkpot.org/ticket/720" target="_blank">有问题</a>的。官方的绕过方式是重命名一个文件，但是同样需要ssh到阅读器修改。</p>
<p>由于这些问题，最好有一个可以用来管理电子书设备的客户端软件。这个软件也许可以做下面的事情：</p>
<ol>
<li>自动配置电子书的USB RNDIS连接</li>
<li>书籍搜索、下载和同步</li>
<li>数据的同步，例如书签</li>
<li>状态备份和恢复，例如当前阅读的图书的页码，书籍版式（横屏，切白边等）。</li>
<li>安装字体</li>
<li>设备软件更新</li>
<li>设备配置修改，例如修改键绑定</li>
<li>其他工具性的功能，例如拷屏</li>
</ol>
<p>等等。</p>
<p>但是前提是要有一个客户端软件。因此最近先整了一个基础库，取名 liboi，即lib-openinkpot之意，host在Google Code上面： <a href="http://code.google.com/p/liboi/" target="_blank">http://code.google.com/p/liboi/</a>。经过几个星期的晚上+周末的工作，现在把0.1版本放出来，这个版本支持最简单的功能：</p>
<ol>
<li>根据默认的SSH配置连接阅读器。</li>
<li>获取阅读器信息，类似OpenInkpot版本号</li>
<li>在阅读器当中执行命令（有了这个功能剩下的就是想象力了）</li>
</ol>
<p>目前只支持Linux平台，请在项目主页上下载源码包自行编译。源码包当中有oish.c文件，会生成一个oish（OpenInkpot Shell）的程序，可以作为例子程序使用。</p>
<p>后面的事情，主要包括：</p>
<ol>
<li>拷贝文件，包括拷进来和拷出来。</li>
<li>Windows Porting</li>
<li>SSH自动配置</li>
</ol>
<p>另外招募擅长客户端界面的同仁开发客户端GUI，我要做的话估计界面会很丑。当然了，没报酬，代码开源，纯自愿参与。</p>
<p><strong>你也许会喜欢：</strong>
<ul class="similar-posts">
<li><a href="http://blog.ftofficer.com/2009/12/liboi-0-0-3-added-windows-support/" rel="bookmark" title="2009年12月28日">liboi 0.0.3 &#8211; 增加Windows平台支持</a></li>
<li><a href="http://blog.ftofficer.com/2009/12/liboi-0-0-2-release-note/" rel="bookmark" title="2009年12月27日">liboi 0.0.2 &#8211; 为OpenInkpot提供客户端支持</a></li>
<li><a href="http://blog.ftofficer.com/2009/12/calibre-the-ebook-management-software/" rel="bookmark" title="2009年12月28日">电子书管理软件Calibre</a></li>
<li><a href="http://blog.ftofficer.com/2009/10/openinkpot-0-2-localization-status-report/" rel="bookmark" title="2009年10月4日">OpenInkpot 0.2 中文化进度</a></li>
<li><a href="http://blog.ftofficer.com/projects/" rel="bookmark" title="2009年07月19日">我的项目</a></li>
</ul>
<p><!-- Similar Posts took 5.396 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftofficer.com/2009/12/liboi-initialized/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenInkpot 0.2 中文化进度</title>
		<link>http://blog.ftofficer.com/2009/10/openinkpot-0-2-localization-status-report/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.ftofficer.com/2009/10/openinkpot-0-2-localization-status-report/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 09:57:24 +0000</pubDate>
		<dc:creator>Zhang Cong</dc:creator>
				<category><![CDATA[eink设备]]></category>
		<category><![CDATA[我的作品]]></category>
		<category><![CDATA[openinkpot]]></category>

		<guid isPermaLink="false">http://blog.ftofficer.com/?p=10187</guid>
		<description><![CDATA[最近OpenInkpot已经发布了官方0.2预发布版本20091001（算是给国庆献礼么？:P），这个版本第一次把中文本地化的内容包含在内，也就是说将来大家使用OpenInkpot的时候就可以看到中文的界面了。大家可以在首次刷机之后选择语言为“简体中文”，或者到设置/Setup里面更改。注意选择语言界面里面9,0两个键不能用来翻页的，小心选中了希腊语。:P 目前中文化的部分仍然在进行当中，已经完成的部分包括： 1. 新的中文字体，使用文泉驿中文字体替换掉了以前的老字体，中文显示漂亮了很多。 2. Wiki页面的中文化，包括用户手册（http://openinkpot.org/wiki/0.2/UsersGuide/zh）和安装指南（http://openinkpot.org/wiki/0.2/InstallationGuide/zh）。 3. 大部分程序界面的中文化。包括书架、非PDF阅读器的大部分。PDF阅读器(LocoPDF)当中的字符串现在还没有抽出来，因此暂时还只有英文界面。中文化进度可以到http://l10n.openinkpot.org查看，有兴趣的也可以注册上去参与翻译和查看翻译进度。 正在进行的工作包括： 1. 随机帮助文档的翻译。这个功能在最近才刚刚加入到OI当中，翻译工作也刚刚开始进行。有兴趣的可以参见http://groups.google.com/group/openinkpot-l10n/browse_thread/thread/ac83e60784869903 2. 应用程序名的翻译。现在还没有好的名字想出来，因此暂时没有提交。征求大家的意见，下面这些应用程序名怎么翻译比较合适： * FBReader: 默认的非PDF阅读器 * CoolReader: 可选的非PDF阅读器 * LocoPDF: 默认的PDF阅读器 * MadEye: 默认的图片查看器 * 小游戏们：Bridges Puzzle, Fifteen Puzzle, Flip Puzzle, Pegs Puzzle, Solo (Suduko like) Puzzle, Twiddle Puzzle。都是一些益智小游戏，介绍可以参见http://www.chiark.greenend.org.uk/~sgtatham/puzzles/ 3. 一些杂七杂八的东西，例如存储器名字，“Internal Storage”和”SD Card”这种，还没翻译。 如果有什么本地化相关的建议，可以直接联系我 (ftofficer@ftofficer.com) 你也许会喜欢： OpenInkpot 0.2正式版发布 几款专用电子书籍阅读器的比较 OpenInkpot 0.2 rc5和rc6试用手记 liboi &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>最近<a href="http://openinkpot.org">OpenInkpot</a>已经发布了官方0.2预发布版本20091001（算是给国庆献礼么？:P），这个版本第一次把中文本地化的内容包含在内，也就是说将来大家使用OpenInkpot的时候就可以看到中文的界面了。大家可以在首次刷机之后选择语言为“简体中文”，或者到设置/Setup里面更改。注意选择语言界面里面9,0两个键不能用来翻页的，小心选中了希腊语。:P</p>
<p>目前中文化的部分仍然在进行当中，已经完成的部分包括：</p>
<p>1. 新的中文字体，使用文泉驿中文字体替换掉了以前的老字体，中文显示漂亮了很多。<br />
2. Wiki页面的中文化，包括用户手册（http://openinkpot.org/wiki/0.2/UsersGuide/zh）和安装指南（http://openinkpot.org/wiki/0.2/InstallationGuide/zh）。<br />
3. 大部分程序界面的中文化。包括书架、非PDF阅读器的大部分。PDF阅读器(LocoPDF)当中的字符串现在还没有抽出来，因此暂时还只有英文界面。中文化进度可以到http://l10n.openinkpot.org查看，有兴趣的也可以注册上去参与翻译和查看翻译进度。</p>
<p>正在进行的工作包括：<br />
1. 随机帮助文档的翻译。这个功能在最近才刚刚加入到OI当中，翻译工作也刚刚开始进行。有兴趣的可以参见http://groups.google.com/group/openinkpot-l10n/browse_thread/thread/ac83e60784869903<br />
2. 应用程序名的翻译。现在还没有好的名字想出来，因此暂时没有提交。征求大家的意见，下面这些应用程序名怎么翻译比较合适：</p>
<p>    * FBReader: 默认的非PDF阅读器<br />
    * CoolReader: 可选的非PDF阅读器<br />
    * LocoPDF: 默认的PDF阅读器<br />
    * MadEye: 默认的图片查看器<br />
    * 小游戏们：Bridges Puzzle, Fifteen Puzzle, Flip Puzzle, Pegs Puzzle, Solo (Suduko like) Puzzle, Twiddle Puzzle。都是一些益智小游戏，介绍可以参见http://www.chiark.greenend.org.uk/~sgtatham/puzzles/</p>
<p>3. 一些杂七杂八的东西，例如存储器名字，“Internal Storage”和”SD Card”这种，还没翻译。</p>
<p>如果有什么本地化相关的建议，可以直接联系我 (ftofficer@ftofficer.com)</p>
<p><strong>你也许会喜欢：</strong>
<ul class="similar-posts">
<li><a href="http://blog.ftofficer.com/2009/12/openinkpot-0-2-final-released/" rel="bookmark" title="2009年12月6日">OpenInkpot 0.2正式版发布</a></li>
<li><a href="http://blog.ftofficer.com/2008/04/%e5%87%a0%e6%ac%be%e4%b8%93%e7%94%a8%e7%94%b5%e5%ad%90%e4%b9%a6%e7%b1%8d%e9%98%85%e8%af%bb%e5%99%a8%e7%9a%84%e6%af%94%e8%be%83/" rel="bookmark" title="2008年04月4日">几款专用电子书籍阅读器的比较</a></li>
<li><a href="http://blog.ftofficer.com/2009/12/openinkpot-0-2-rc5-and-rc6-trial/" rel="bookmark" title="2009年12月6日">OpenInkpot 0.2 rc5和rc6试用手记</a></li>
<li><a href="http://blog.ftofficer.com/2009/12/liboi-initialized/" rel="bookmark" title="2009年12月23日">liboi &#8211; 管理基于OpenInkpot的电子书设备的支持库</a></li>
<li><a href="http://blog.ftofficer.com/2009/12/calibre-the-ebook-management-software/" rel="bookmark" title="2009年12月28日">电子书管理软件Calibre</a></li>
</ul>
<p><!-- Similar Posts took 8.460 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftofficer.com/2009/10/openinkpot-0-2-localization-status-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TabIMSwitch 成为Mozilla Addons网站上的正式插件！</title>
		<link>http://blog.ftofficer.com/2008/09/tabimswitch-%e6%88%90%e4%b8%bamozilla-addons%e7%bd%91%e7%ab%99%e4%b8%8a%e7%9a%84%e6%ad%a3%e5%bc%8f%e6%8f%92%e4%bb%b6%ef%bc%81/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.ftofficer.com/2008/09/tabimswitch-%e6%88%90%e4%b8%bamozilla-addons%e7%bd%91%e7%ab%99%e4%b8%8a%e7%9a%84%e6%ad%a3%e5%bc%8f%e6%8f%92%e4%bb%b6%ef%bc%81/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 05:17:00 +0000</pubDate>
		<dc:creator>Zhang Cong</dc:creator>
				<category><![CDATA[我的作品]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[tabimswitch]]></category>

		<guid isPermaLink="false">http://blog.ftofficer.com/?p=9974</guid>
		<description><![CDATA[昨天收到了Mozilla Addons发来的邮件，经过漫长的等待，TabIMSwitch已经成为了Mozilla Addons大家庭的正式一员。现在你可以登录Mozilla Addons上的页面来下载最新版本了。 https://addons.mozilla.org/addon/5413 &#8211;5413将是你的终生代号 :b 你也许会喜欢： Mozilla Leak Monitor Mozilla Addons网站中文版 T-shirt from Mozilla 说起来为什么Mozilla要寄T恤 TabIMSwitch 开始支持 Firefox 3.0 Beta &#8211; 请手动下载更新]]></description>
			<content:encoded><![CDATA[<p>昨天收到了Mozilla Addons发来的邮件，经过漫长的等待，<a target="_blank" href="http://tabimswtich.googlecode.com">TabIMSwitch</a>已经成为了Mozilla Addons大家庭的正式一员。<br />现在你可以登录Mozilla Addons上的页面来下载最新版本了。</p>
<p><a target="_blank" href="https://addons.mozilla.org/addon/5413">https://addons.mozilla.org/addon/5413</a></p>
<p>&#8211;<br /><font size="2">5413将是你的终生代号 :b</font></p>
<p><strong>你也许会喜欢：</strong>
<ul class="similar-posts">
<li><a href="http://blog.ftofficer.com/2007/09/mozilla-leak-monitor/" rel="bookmark" title="2007年09月6日">Mozilla Leak Monitor</a></li>
<li><a href="http://blog.ftofficer.com/2008/02/mozilla-addons%e7%bd%91%e7%ab%99%e4%b8%ad%e6%96%87%e7%89%88/" rel="bookmark" title="2008年02月7日">Mozilla Addons网站中文版</a></li>
<li><a href="http://blog.ftofficer.com/2008/03/t-shirt-from-mozilla/" rel="bookmark" title="2008年03月1日">T-shirt from Mozilla</a></li>
<li><a href="http://blog.ftofficer.com/2008/06/%e8%af%b4%e8%b5%b7%e6%9d%a5%e4%b8%ba%e4%bb%80%e4%b9%88mozilla%e8%a6%81%e5%af%84t%e6%81%a4/" rel="bookmark" title="2008年06月22日">说起来为什么Mozilla要寄T恤</a></li>
<li><a href="http://blog.ftofficer.com/2007/12/tabimswitch-%e5%bc%80%e5%a7%8b%e6%94%af%e6%8c%81-firefox-3-0-beta-%e8%af%b7%e6%89%8b%e5%8a%a8%e4%b8%8b%e8%bd%bd%e6%9b%b4%e6%96%b0/" rel="bookmark" title="2007年12月23日">TabIMSwitch 开始支持 Firefox 3.0 Beta &#8211; 请手动下载更新</a></li>
</ul>
<p><!-- Similar Posts took 5.147 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftofficer.com/2008/09/tabimswitch-%e6%88%90%e4%b8%bamozilla-addons%e7%bd%91%e7%ab%99%e4%b8%8a%e7%9a%84%e6%ad%a3%e5%bc%8f%e6%8f%92%e4%bb%b6%ef%bc%81/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>修正VeryCD在启用AdBlock Plus的情况下的版面混乱问题的脚本</title>
		<link>http://blog.ftofficer.com/2008/03/%e4%bf%ae%e6%ad%a3verycd%e5%9c%a8%e5%90%af%e7%94%a8adblock-plus%e7%9a%84%e6%83%85%e5%86%b5%e4%b8%8b%e7%9a%84%e7%89%88%e9%9d%a2%e6%b7%b7%e4%b9%b1%e9%97%ae%e9%a2%98%e7%9a%84%e8%84%9a%e6%9c%ac/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.ftofficer.com/2008/03/%e4%bf%ae%e6%ad%a3verycd%e5%9c%a8%e5%90%af%e7%94%a8adblock-plus%e7%9a%84%e6%83%85%e5%86%b5%e4%b8%8b%e7%9a%84%e7%89%88%e9%9d%a2%e6%b7%b7%e4%b9%b1%e9%97%ae%e9%a2%98%e7%9a%84%e8%84%9a%e6%9c%ac/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 15:51:00 +0000</pubDate>
		<dc:creator>Zhang Cong</dc:creator>
				<category><![CDATA[我的作品]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[verycd]]></category>

		<guid isPermaLink="false">http://blog.ftofficer.com/?p=9945</guid>
		<description><![CDATA[VeryCD是个不错的网站，除了在每个页面上面出现的flash广告（见下图）。当然我也知道VeryCD维持生存基本上要靠广告，但是经常搞死我浏览器的flash广告，我是不得已把它过滤掉的。 Firefox对于广告的解决方案当然是AdBlock Plus。这个插件可以按照通配符或者正则表达式来封锁广告。如果你不懂通配符或者正则表达式，直接用鼠标点点基本上也是可以解决问题的。通过在其中添加一条规则封锁 http://222.37.134.*/*.htm*，顺利达到了封锁VeryCD上面的flash广告的目的。 但是随之而来的问题是，因为过滤掉了一个iframe，整个页面布局就有了一些问题，资源详细信息因为布局的缘故无法显示（见下图）。 为了能够让它显示出来，只好另外再打一层补丁。这次用Greasemonkey，让它在加载VeryCD页面的时候在原本显示广告的地方显示另外一个东西来占个位置，自然就能够让详细信息部分显示了。 在这里显示什么呢？看了几个VeryCD页面之后，发现大多数的页面上面在简介部分都有至少一幅图片。按理说把第一副图片按比例缩小放在其中应该可以吧。最后结果见下图： 最后贴Greasemonkey脚本的代码。请将其拷贝到记事本保存为“所有文件”，文件名选择.user.js结束。保存后拖动到Firefox（事先需要安装了Greasemonkey），确定即可安装。 == 代码开始，请不要拷贝这一行 ==// ==UserScript==// @name           Re-format VeryCD item detail// @namespace      http://ftofficer.spaces.live.com// @description    Re-format VeryCD item detail// @include        http://www.verycd.com/topics/*// ==/UserScript==function findFirstImg() {  var paras = document.getElementsByTagName(&#8216;p&#8217;);  for (var i=0; i&#60;paras.length; ++i) {    var p = paras[i];    if ( p.getAttribute(&#8216;class&#8217;) == &#8216;inner_content&#8217;) {      var imgs = p.getElementsByTagName(&#8216;img&#8217;);      if ( [...]]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://www.verycd.com"> VeryCD</a>是个不错的网站，除了在每个页面上面出现的flash广告（见下图）。当然我也知道VeryCD维持生存基本上要靠广告，但是经常搞死我浏览器的flash广告，我是不得已把它过滤掉的。<br /><img src="http://byfiles.storage.live.com/y1ptQI9A-glMW-T8EgSmug3F2wPq7X0NqhrRLUx00IVBM94SSZl_nkZkYQApleBuaycBxhsLPwyQug" /></p>
<p>Firefox对于广告的解决方案当然是<a target="_blank" href="https://addons.mozilla.org/en-US/firefox/addon/1865">AdBlock Plus</a>。这个插件可以按照通配符或者正则表达式来封锁广告。如果你不懂通配符或者正则表达式，直接用鼠标点点基本上也是可以解决问题的。通过在其中添加一条规则封锁 http://222.37.134.*/*.htm*，顺利达到了封锁VeryCD上面的flash广告的目的。</p>
<p>但是随之而来的问题是，因为过滤掉了一个iframe，整个页面布局就有了一些问题，资源详细信息因为布局的缘故无法显示（见下图）。<br /><img src="http://byfiles.storage.live.com/y1ptQI9A-glMW8l8l4c_9Gh40AsLPJAlONTCdnZrk3A87WXkPCxJaboI0b67ex6_vS2bd_gibSF0lg" /></p>
<p>为了能够让它显示出来，只好另外再打一层补丁。这次用<a target="_blank" href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey</a>，让它在加载VeryCD页面的时候在原本显示广告的地方显示另外一个东西来占个位置，自然就能够让详细信息部分显示了。</p>
<p>在这里显示什么呢？看了几个VeryCD页面之后，发现大多数的页面上面在简介部分都有至少一幅图片。按理说把第一副图片按比例缩小放在其中应该可以吧。最后结果见下图：<br /><img src="http://byfiles.storage.live.com/y1ptQI9A-glMW_Uy2nw-cPgPeD_rvvF7McgY0tKEO9ncTJM9cgtw1aITu7n-EVAegtInHbZ0DEeGBM" /></p>
<p>最后贴Greasemonkey脚本的代码。请将其拷贝到记事本保存为“所有文件”，文件名选择.user.js结束。保存后拖动到Firefox（事先需要安装了Greasemonkey），确定即可安装。</p>
<p>== 代码开始，请不要拷贝这一行 ==<br /><font size="2"><span style="font-family:Courier New">// ==UserScript==</span><br style="font-family:Courier New" /><span style="font-family:Courier New">// @name           Re-format VeryCD item detail</span><br style="font-family:Courier New" /><span style="font-family:Courier New">// @namespace      http://ftofficer.spaces.live.com</span><br style="font-family:Courier New" /><span style="font-family:Courier New">// @description    Re-format VeryCD item detail</span><br style="font-family:Courier New" /><span style="font-family:Courier New">// @include        http://www.verycd.com/topics/*</span><br style="font-family:Courier New" /><span style="font-family:Courier New">// ==/UserScript==</span><br style="font-family:Courier New" /><br style="font-family:Courier New" /><span style="font-family:Courier New">function findFirstImg() {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  var paras = document.getElementsByTagName(&#8216;p&#8217;);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  for (var i=0; i&lt;paras.length; ++i) {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    var p = paras[i];</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    if ( p.getAttribute(&#8216;class&#8217;) == &#8216;inner_content&#8217;) {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      var imgs = p.getElementsByTagName(&#8216;img&#8217;);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      if ( imgs &amp;&amp; imgs.length &gt; 0 ) </span><br style="font-family:Courier New" /><span style="font-family:Courier New">        return imgs[0];</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    }</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  }</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  </span><br style="font-family:Courier New" /><span style="font-family:Courier New">  return null;</span><br style="font-family:Courier New" /><span style="font-family:Courier New">}</span><br style="font-family:Courier New" /><br style="font-family:Courier New" /><span style="font-family:Courier New">function getScale(imgWidth, imgHeight, divWidth, divHeight) {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  var wScale = divWidth * 1. / imgWidth;</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  var hScale = divHeight * 1. / imgHeight;</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  </span><br style="font-family:Courier New" /><span style="font-family:Courier New">  if ( wScale &gt; 1. &amp;&amp; hScale &gt; 1. ) {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    return 1.;</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  }</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  </span><br style="font-family:Courier New" /><span style="font-family:Courier New">  return wScale &lt; hScale ? wScale : hScale;</span><br style="font-family:Courier New" /><span style="font-family:Courier New">}</span><br style="font-family:Courier New" /><br style="font-family:Courier New" /><span style="font-family:Courier New">function fixupVeryCDDetailPage() {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  var moreInfo = document.getElementById(&#8216;moreInfo&#8217;);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  if ( moreInfo ) {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    var frame = document.createElement(&#8216;div&#8217;);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    frame.setAttribute(&#8216;class&#8217;, &#8216;Banner1&#8242;);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    frame.width = 300;</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    frame.height = 250;</span><br style="font-family:Courier New" /><br style="font-family:Courier New" /><span style="font-family:Courier New">    firstImg = findFirstImg();</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    if ( firstImg ) {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      var img = document.createElement(&#8216;img&#8217;);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      img.src = firstImg.src;</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      var imgScale = getScale(img.width, img.height, frame.width, frame.height);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      img.width = Math.floor(img.width * imgScale);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      img.height = Math.floor(img.height * imgScale);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      frame.appendChild(img);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    }</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    </span><br style="font-family:Courier New" /><span style="font-family:Courier New">    if ( moreInfo.parentNode ) {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      moreInfo.parentNode.insertBefore(frame, moreInfo);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    }</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  }</span><br style="font-family:Courier New" /><span style="font-family:Courier New">}</span><br style="font-family:Courier New" /><br style="font-family:Courier New" /><span style="font-family:Courier New">fixupVeryCDDetailPage();</span></font><br />== 代码结束，请不要拷贝这一行 ==</p>
<p><strong>你也许会喜欢：</strong>
<ul class="similar-posts">
<li><a href="http://blog.ftofficer.com/2007/11/%e8%a7%a3%e5%86%b3%e5%9c%a8firefox%e4%b8%8b%e9%9d%a2live-space%e2%80%9c%e5%8f%91%e5%b8%83%e6%97%a5%e5%bf%97%e2%80%9d%e6%8c%89%e9%92%ae%e8%a2%ab%e7%a6%81%e7%94%a8%e7%9a%84%e9%97%ae%e9%a2%98/" rel="bookmark" title="2007年11月7日">解决在Firefox下面Live Space“发布日志”按钮被禁用的问题</a></li>
<li><a href="http://blog.ftofficer.com/2009/08/wordpress-283-remote-admin-reset-password-vul/" rel="bookmark" title="2009年08月12日">WordPress <= 2.8.3 管理员密码远程重置漏洞（及绕过方案）</a></li>
<li><a href="http://blog.ftofficer.com/2008/01/live-space%e7%9a%84%e2%80%9c%e5%8f%91%e5%b8%83%e6%97%a5%e5%bf%97%e2%80%9d%e6%81%a2%e5%a4%8d%e6%ad%a3%e5%b8%b8%e4%ba%86/" rel="bookmark" title="2008年01月27日">Live Space的“发布日志”恢复正常了</a></li>
<li><a href="http://blog.ftofficer.com/2007/09/think-different/" rel="bookmark" title="2007年09月18日">Think Different</a></li>
<li><a href="http://blog.ftofficer.com/2007/10/%e4%b8%80%e4%ba%9b%e6%99%ba%e5%8a%9b%e9%a2%98/" rel="bookmark" title="2007年10月6日">一些智力题</a></li>
</ul>
<p><!-- Similar Posts took 7.472 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftofficer.com/2008/03/%e4%bf%ae%e6%ad%a3verycd%e5%9c%a8%e5%90%af%e7%94%a8adblock-plus%e7%9a%84%e6%83%85%e5%86%b5%e4%b8%8b%e7%9a%84%e7%89%88%e9%9d%a2%e6%b7%b7%e4%b9%b1%e9%97%ae%e9%a2%98%e7%9a%84%e8%84%9a%e6%9c%ac/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Live Space的“发布日志”恢复正常了</title>
		<link>http://blog.ftofficer.com/2008/01/live-space%e7%9a%84%e2%80%9c%e5%8f%91%e5%b8%83%e6%97%a5%e5%bf%97%e2%80%9d%e6%81%a2%e5%a4%8d%e6%ad%a3%e5%b8%b8%e4%ba%86/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.ftofficer.com/2008/01/live-space%e7%9a%84%e2%80%9c%e5%8f%91%e5%b8%83%e6%97%a5%e5%bf%97%e2%80%9d%e6%81%a2%e5%a4%8d%e6%ad%a3%e5%b8%b8%e4%ba%86/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 11:19:00 +0000</pubDate>
		<dc:creator>Zhang Cong</dc:creator>
				<category><![CDATA[我的作品]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[livespace]]></category>

		<guid isPermaLink="false">http://blog.ftofficer.com/?p=9931</guid>
		<description><![CDATA[今天打开Space准备写blog，却发现“发布日志”按钮仍然是灰掉的，看看Greasemonkey的脚本状态已经启用了，难道M$会ws到连我这个第三方开发者都不放过？接下来就是分析一下看看有什么变动，然后更新一下脚本。但是看来看去文档的结构都没有变化，Greasemonkey脚本的运行也很正常。 无意之中在标题当中填了几个字符，竟然发现“发布日志”按钮启用了！然后把Greasemonkey的用户脚本设置成禁用，刷新页面，输入标题，“发布日志”和“保存为草稿”立即启用了。 原来我误解了M$，其实是M$做了点工作恢复了Space的bug，看来我的Greasemonkey脚本可以退休了。 不过暂时还是保留在那里吧，不知道哪天会再次出现问题。 你也许会喜欢： CALL指令有多少种写法 这个十一 又一部偷懒的片子~ 解决在Firefox下面Live Space“发布日志”按钮被禁用的问题 liboi &#8211; 管理基于OpenInkpot的电子书设备的支持库]]></description>
			<content:encoded><![CDATA[<p>今天打开Space准备写blog，却发现“发布日志”按钮仍然是灰掉的，看看Greasemonkey的脚本状态已经启用了，难道M$会ws到连我这个第三方开发者都不放过？接下来就是分析一下看看有什么变动，然后更新一下脚本。但是看来看去文档的结构都没有变化，Greasemonkey脚本的运行也很正常。</p>
<p>无意之中在标题当中填了几个字符，竟然发现“发布日志”按钮启用了！然后把Greasemonkey的用户脚本设置成禁用，刷新页面，输入标题，“发布日志”和“保存为草稿”立即启用了。</p>
<p>原来我误解了M$，其实是M$做了点工作恢复了Space的bug，看来我的Greasemonkey脚本可以退休了。</p>
<p>不过暂时还是保留在那里吧，不知道哪天会再次出现问题。</p>
<p><strong>你也许会喜欢：</strong>
<ul class="similar-posts">
<li><a href="http://blog.ftofficer.com/2010/04/n-forms-of-call-instructions/" rel="bookmark" title="2010年04月4日">CALL指令有多少种写法</a></li>
<li><a href="http://blog.ftofficer.com/2007/10/%e8%bf%99%e4%b8%aa%e5%8d%81%e4%b8%80/" rel="bookmark" title="2007年10月7日">这个十一</a></li>
<li><a href="http://blog.ftofficer.com/2007/05/%e5%8f%88%e4%b8%80%e9%83%a8%e5%81%b7%e6%87%92%e7%9a%84%e7%89%87%e5%ad%90/" rel="bookmark" title="2007年05月13日">又一部偷懒的片子~</a></li>
<li><a href="http://blog.ftofficer.com/2007/11/%e8%a7%a3%e5%86%b3%e5%9c%a8firefox%e4%b8%8b%e9%9d%a2live-space%e2%80%9c%e5%8f%91%e5%b8%83%e6%97%a5%e5%bf%97%e2%80%9d%e6%8c%89%e9%92%ae%e8%a2%ab%e7%a6%81%e7%94%a8%e7%9a%84%e9%97%ae%e9%a2%98/" rel="bookmark" title="2007年11月7日">解决在Firefox下面Live Space“发布日志”按钮被禁用的问题</a></li>
<li><a href="http://blog.ftofficer.com/2009/12/liboi-initialized/" rel="bookmark" title="2009年12月23日">liboi &#8211; 管理基于OpenInkpot的电子书设备的支持库</a></li>
</ul>
<p><!-- Similar Posts took 9.686 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftofficer.com/2008/01/live-space%e7%9a%84%e2%80%9c%e5%8f%91%e5%b8%83%e6%97%a5%e5%bf%97%e2%80%9d%e6%81%a2%e5%a4%8d%e6%ad%a3%e5%b8%b8%e4%ba%86/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TabIMSwitch 开始支持 Firefox 3.0 Beta &#8211; 请手动下载更新</title>
		<link>http://blog.ftofficer.com/2007/12/tabimswitch-%e5%bc%80%e5%a7%8b%e6%94%af%e6%8c%81-firefox-3-0-beta-%e8%af%b7%e6%89%8b%e5%8a%a8%e4%b8%8b%e8%bd%bd%e6%9b%b4%e6%96%b0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.ftofficer.com/2007/12/tabimswitch-%e5%bc%80%e5%a7%8b%e6%94%af%e6%8c%81-firefox-3-0-beta-%e8%af%b7%e6%89%8b%e5%8a%a8%e4%b8%8b%e8%bd%bd%e6%9b%b4%e6%96%b0/#comments</comments>
		<pubDate>Sat, 22 Dec 2007 17:06:00 +0000</pubDate>
		<dc:creator>Zhang Cong</dc:creator>
				<category><![CDATA[我的作品]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[tabimswitch]]></category>

		<guid isPermaLink="false">http://blog.ftofficer.com/?p=9919</guid>
		<description><![CDATA[今天收到Mozilla发过来的邮件，希望我们可以把自己的扩展升级到支持Firefox 3.0。本来在Beta 1出来的时候就打算做的，一直没动手，今天既然收到了信，就花了一天的时间调整了一下TabIMSwitch，小小的改动了一下，目前已经兼容于Firefox 3.0 Beta了。 新版本号码 1.1.0.41。 下载TabIMSwitch 1.1.0.41SHA1校验码：0f0acbdd7df6ddd712541d5e766fb0ce9f07a56dMD5 校验码：fe421b0905dbae7e59bbb3d028ad311f但是因为现在最广泛使用的1.1.0.37版本的一个bug，自动更新到1.1.0.41基本上是不可能的，因为1.1.0.37版本当中根本就不包含自动更新URL。造成这个问题的原因是在编译的时候把放在Mozilla addons上面的版本和公开在Google Code上面的版本弄混了，而Mozilla的版本是不能有自动更新URL的——Mozilla会给你加上一个。 所以，麻烦大家自己手动下载下来升级吧。 为了防止以后出现类似的问题，这次把编译脚本修改了，把Mozilla addon上面的版本和Google Code上面的版本完全分开，将来应该不会出现类似的问题了。 &#8211; 更新@2007-12-23 3:08 &#8211;发完blog之后两分钟，发现1.1.0.40的包有问题，版本号忘了改了，还是1.1.0.39，忙中出乱啊，晕啊晕。下载了1.1.0.40的，等自动更新到1.1.0.41吧。 你也许会喜欢： 说起来为什么Mozilla要寄T恤 Firefox自动切换输入法的插件 TabIMSwitch 1.0开始Alpha T-shirt from Mozilla TabIMSwitch接下来的工作 TabIMSwitch]]></description>
			<content:encoded><![CDATA[<p>今天收到Mozilla发过来的邮件，希望我们可以把自己的扩展升级到支持Firefox 3.0。本来在Beta 1出来的时候就打算做的，一直没动手，今天既然收到了信，就花了一天的时间调整了一下<a target="_blank" href="http://code.google.com/p/tabimswitch/wiki/HomezhCN">TabIMSwitch</a>，小小的改动了一下，目前已经兼容于<a target="_blank" href="http://www.mozilla.com/en-US/firefox/all-beta.html">Firefox 3.0 Beta</a>了。</p>
<p>新版本号码 1.1.0.41。</p>
<p><a target="_blank" href="http://tabimswitch.googlecode.com/files/tabimswitch-1.1.0.41.xpi">下载TabIMSwitch 1.1.0.41</a><br />SHA1校验码：0f0acbdd7df6ddd712541d5e766fb0ce9f07a56d<span style="white-space:nowrap"><br />MD5 校验码：fe421b0905dbae7e59bbb3d028ad311f<br /></span><br />但是因为现在最广泛使用的1.1.0.37版本的一个bug，自动更新到1.1.0.41基本上是不可能的，因为1.1.0.37版本当中根本就不包含自动更新URL。造成这个问题的原因是在编译的时候把<a target="_blank" href="https://addons.mozilla.org/en-US/firefox/developers/details/5413">放在Mozilla addons上面的版本</a>和<a target="_blank" href="http://code.google.com/p/tabimswitch/downloads/list">公开在Google Code上面的版本</a>弄混了，而Mozilla的版本是不能有自动更新URL的——Mozilla会给你加上一个。</p>
<p>所以，麻烦大家自己手动下载下来升级吧。</p>
<p>为了防止以后出现类似的问题，这次把编译脚本修改了，把Mozilla addon上面的版本和Google Code上面的版本完全分开，将来应该不会出现类似的问题了。</p>
<p>&#8211; 更新@2007-12-23 3:08 &#8211;<br />发完blog之后两分钟，发现1.1.0.40的包有问题，版本号忘了改了，还是1.1.0.39，忙中出乱啊，晕啊晕。<br />下载了1.1.0.40的，等自动更新到1.1.0.41吧。</p>
<p><strong>你也许会喜欢：</strong>
<ul class="similar-posts">
<li><a href="http://blog.ftofficer.com/2008/06/%e8%af%b4%e8%b5%b7%e6%9d%a5%e4%b8%ba%e4%bb%80%e4%b9%88mozilla%e8%a6%81%e5%af%84t%e6%81%a4/" rel="bookmark" title="2008年06月22日">说起来为什么Mozilla要寄T恤</a></li>
<li><a href="http://blog.ftofficer.com/2007/07/firefox%e8%87%aa%e5%8a%a8%e5%88%87%e6%8d%a2%e8%be%93%e5%85%a5%e6%b3%95%e7%9a%84%e6%8f%92%e4%bb%b6-tabimswitch-1-0%e5%bc%80%e5%a7%8balpha/" rel="bookmark" title="2007年07月28日">Firefox自动切换输入法的插件 TabIMSwitch 1.0开始Alpha</a></li>
<li><a href="http://blog.ftofficer.com/2008/03/t-shirt-from-mozilla/" rel="bookmark" title="2008年03月1日">T-shirt from Mozilla</a></li>
<li><a href="http://blog.ftofficer.com/2007/07/tabimswitch%e6%8e%a5%e4%b8%8b%e6%9d%a5%e7%9a%84%e5%b7%a5%e4%bd%9c/" rel="bookmark" title="2007年07月28日">TabIMSwitch接下来的工作</a></li>
<li><a href="http://blog.ftofficer.com/projects/projects-tabimswitch/" rel="bookmark" title="2009年11月22日">TabIMSwitch</a></li>
</ul>
<p><!-- Similar Posts took 8.596 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftofficer.com/2007/12/tabimswitch-%e5%bc%80%e5%a7%8b%e6%94%af%e6%8c%81-firefox-3-0-beta-%e8%af%b7%e6%89%8b%e5%8a%a8%e4%b8%8b%e8%bd%bd%e6%9b%b4%e6%96%b0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>解决在Firefox下面Live Space“发布日志”按钮被禁用的问题</title>
		<link>http://blog.ftofficer.com/2007/11/%e8%a7%a3%e5%86%b3%e5%9c%a8firefox%e4%b8%8b%e9%9d%a2live-space%e2%80%9c%e5%8f%91%e5%b8%83%e6%97%a5%e5%bf%97%e2%80%9d%e6%8c%89%e9%92%ae%e8%a2%ab%e7%a6%81%e7%94%a8%e7%9a%84%e9%97%ae%e9%a2%98/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.ftofficer.com/2007/11/%e8%a7%a3%e5%86%b3%e5%9c%a8firefox%e4%b8%8b%e9%9d%a2live-space%e2%80%9c%e5%8f%91%e5%b8%83%e6%97%a5%e5%bf%97%e2%80%9d%e6%8c%89%e9%92%ae%e8%a2%ab%e7%a6%81%e7%94%a8%e7%9a%84%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Tue, 06 Nov 2007 18:13:00 +0000</pubDate>
		<dc:creator>Zhang Cong</dc:creator>
				<category><![CDATA[我的作品]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[livespace]]></category>

		<guid isPermaLink="false">http://blog.ftofficer.com/?p=9907</guid>
		<description><![CDATA[也许你发现了上面的帖子。这个帖子是我在进行测试，看看能不能启用Live Space的“发布日志”按钮。事实上是成功了，特将其分享给大家。 首先，你需要安装Firefox扩展 greasemonkey。这个扩展可以使你在加载一个页面的时候执行一段你自己的Javascript程序。 安装之后，将下面的程序拷贝到一个文本文件，并把扩展名改成 .user.js。（务必是.user.js，否则greasemonkey无法自动安装之）。 ===脚本开始，拷贝时请不要包含这一行===// ==UserScript==// @name           Enable Live Space Post Button// @namespace      http://ftofficer.spaces.live.com// @description    Enable Live Space Post Button// @include        http://*.spaces.live.com/*// ==/UserScript==function LiveSpace_enableButton(id) {  var button = document.getElementById(id);  if ( button ) {    var cls = button.getAttribute(&#34;class&#34;);    var clsNameEnd = cls.indexOf(&#34;spDisabled&#34;);    if ( clsNameEnd != -1 ) {      clsNameEnd&#8211;;   // skip &#34; [...]]]></description>
			<content:encoded><![CDATA[<p>也许你发现了上面的帖子。<br />这个帖子是我在进行测试，看看能不能启用Live Space的“发布日志”按钮。<br />事实上是成功了，特将其分享给大家。</p>
<p>首先，你需要安装Firefox扩展 <a target="_blank" href="https://addons.mozilla.org/en-US/firefox/addon/748">greasemonkey</a>。这个扩展可以使你在加载一个页面的时候执行一段你自己的Javascript程序。</p>
<p>安装之后，将下面的程序拷贝到一个文本文件，并把扩展名改成 .user.js。（务必是.user.js，否则greasemonkey无法自动安装之）。</p>
<p>===脚本开始，拷贝时请不要包含这一行===<br /><span style="font-family:Courier New">// ==UserScript==</span><br style="font-family:Courier New" /><span style="font-family:Courier New">// @name           Enable Live Space Post Button</span><br style="font-family:Courier New" /><span style="font-family:Courier New">// @namespace      http://ftofficer.spaces.live.com</span><br style="font-family:Courier New" /><span style="font-family:Courier New">// @description    Enable Live Space Post Button</span><br style="font-family:Courier New" /><span style="font-family:Courier New">// @include        http://*.spaces.live.com/*</span><br style="font-family:Courier New" /><span style="font-family:Courier New">// ==/UserScript==</span><br style="font-family:Courier New" /><br style="font-family:Courier New" /><span style="font-family:Courier New">function LiveSpace_enableButton(id) {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  var button = document.getElementById(id);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  if ( button ) {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    var cls = button.getAttribute(&quot;class&quot;);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    var clsNameEnd = cls.indexOf(&quot;spDisabled&quot;);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    if ( clsNameEnd != -1 ) {</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      clsNameEnd&#8211;;   // skip &quot; &quot; before spDisabled</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      var newCls = cls.substring(0, clsNameEnd);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      </span><br style="font-family:Courier New" /><span style="font-family:Courier New">      button.setAttribute(&quot;class&quot;, newCls);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      button.setAttribute(&quot;mi:state&quot;, &quot;enabled&quot;);</span><br style="font-family:Courier New" /><br style="font-family:Courier New" /><span style="font-family:Courier New">      var aNode = document.createElement(&quot;a&quot;);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      aNode.id = id;</span><br style="font-family:Courier New" /><span style="font-family:Courier New">      aNode.href = &quot;#&quot;;</span><br style="font-family:Courier New" /><span style="font-family:Courier New">    }</span><br style="font-family:Courier New" /><span style="font-family:Courier New">  }</span><br style="font-family:Courier New" /><span style="font-family:Courier New">}</span><br style="font-family:Courier New" /><br style="font-family:Courier New" /><span style="font-family:Courier New">LiveSpace_enableButton(&quot;actionToolbarBlogPost&quot;);</span><br style="font-family:Courier New" /><span style="font-family:Courier New">LiveSpace_enableButton(&quot;actionToolbarSave&quot;);</span></p>
<p>===脚本结束，拷贝时请不要包含这一行===</p>
<p>然后将这个js文件拖放到Firefox窗口中，greasemonkey会弹出对话框询问是否安装，选择是，即可完成安装。</p>
<p>然后，去Live Space的“添加日志”当中看看吧。</p>
<p>如果看到“发布日志”和“保存为草稿”仍然没有启用的话，请看看greasemonkey当中配置的网直通配符是不是和你的网址一致，自己改改看看。在不行可以在这里回复。</p>
<p><strong>你也许会喜欢：</strong>
<ul class="similar-posts">
<li><a href="http://blog.ftofficer.com/2008/03/%e4%bf%ae%e6%ad%a3verycd%e5%9c%a8%e5%90%af%e7%94%a8adblock-plus%e7%9a%84%e6%83%85%e5%86%b5%e4%b8%8b%e7%9a%84%e7%89%88%e9%9d%a2%e6%b7%b7%e4%b9%b1%e9%97%ae%e9%a2%98%e7%9a%84%e8%84%9a%e6%9c%ac/" rel="bookmark" title="2008年03月2日">修正VeryCD在启用AdBlock Plus的情况下的版面混乱问题的脚本</a></li>
<li><a href="http://blog.ftofficer.com/2008/01/%e6%90%9e%e5%ae%9a%e4%ba%86spam-comments%e7%9a%84%e8%87%aa%e5%8a%a8%e6%8e%a2%e6%b5%8b%e5%92%8c%e5%88%a0%e9%99%a4/" rel="bookmark" title="2008年01月25日">搞定了Spam Comments的自动探测和删除</a></li>
<li><a href="http://blog.ftofficer.com/2008/04/herb-sutter-gave-up-live-space-due-to-comment-spams/" rel="bookmark" title="2008年04月7日">Herb Sutter Gave up Live Space due to Comment Spams</a></li>
<li><a href="http://blog.ftofficer.com/2007/05/blog%e8%bf%81%e7%a7%bb%e9%80%9a%e5%91%8a/" rel="bookmark" title="2007年05月9日">blog迁移通告</a></li>
<li><a href="http://blog.ftofficer.com/2008/01/live-space%e7%9a%84%e2%80%9c%e5%8f%91%e5%b8%83%e6%97%a5%e5%bf%97%e2%80%9d%e6%81%a2%e5%a4%8d%e6%ad%a3%e5%b8%b8%e4%ba%86/" rel="bookmark" title="2008年01月27日">Live Space的“发布日志”恢复正常了</a></li>
</ul>
<p><!-- Similar Posts took 8.408 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftofficer.com/2007/11/%e8%a7%a3%e5%86%b3%e5%9c%a8firefox%e4%b8%8b%e9%9d%a2live-space%e2%80%9c%e5%8f%91%e5%b8%83%e6%97%a5%e5%bf%97%e2%80%9d%e6%8c%89%e9%92%ae%e8%a2%ab%e7%a6%81%e7%94%a8%e7%9a%84%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>测试</title>
		<link>http://blog.ftofficer.com/2007/11/%e6%b5%8b%e8%af%95/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss</link>
		<comments>http://blog.ftofficer.com/2007/11/%e6%b5%8b%e8%af%95/#comments</comments>
		<pubDate>Tue, 06 Nov 2007 17:26:00 +0000</pubDate>
		<dc:creator>Zhang Cong</dc:creator>
				<category><![CDATA[我的作品]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[livespace]]></category>

		<guid isPermaLink="false">http://blog.ftofficer.com/?p=9906</guid>
		<description><![CDATA[测试看看是不是“发布日志”已经启用了。 你也许会喜欢： 没有类似的文章]]></description>
			<content:encoded><![CDATA[<p>测试看看是不是“发布日志”已经启用了。</p>
<p><strong>你也许会喜欢：</strong>
<ul class="similar-posts">没有类似的文章
</ul>
<p><!-- Similar Posts took 1.677 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ftofficer.com/2007/11/%e6%b5%8b%e8%af%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

