<?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>FoxLing - 前端开发 &#187; FireFox</title>
	<atom:link href="http://foxling.org/category/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://foxling.org</link>
	<description>不积跬步 无以至千里</description>
	<lastBuildDate>Sat, 19 Nov 2011 16:29:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Pearl Crescent Page Saver:FireFox网页截屏插件</title>
		<link>http://foxling.org/firefox/pearl-crescent-page-saver-firefox-extensions/</link>
		<comments>http://foxling.org/firefox/pearl-crescent-page-saver-firefox-extensions/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 15:25:53 +0000</pubDate>
		<dc:creator>FoxLing</dc:creator>
				<category><![CDATA[FireFox]]></category>
		<category><![CDATA[收藏夹]]></category>
		<category><![CDATA[FireFox插件]]></category>
		<category><![CDATA[网页截屏]]></category>

		<guid isPermaLink="false">http://foxling.cn/?p=279</guid>
		<description><![CDATA[找了一款FireFox的网页截图插件，比较适合我的口味，它提供两个功能，保存整个页面为图片，或者是保存可见区域为图片，图像可以保存为 PNG 格式，或者 JPEG 格式。可以设置选项来保存全尺寸网页大小（默认）或者缩放到较小的尺寸。 Page Saver 有两种版本：Basic 和 Pro，其中 Basic 是免费版本，能满足我的需求了~。 Pearl Crescent Page Saver 主页：http://pearlcrescent.com/products/pagesaver/ 支持的语言有： Chinese (Simplified), Chinese (Traditional), Czech, Danish, Dutch, English, French, German, Greek, Italian, Japanese, Korean, Polish, Portuguese (Brazil), Russian, Slovak, Slovenian, Spanish (Spain), Turkish, Ukrainian. 安装完后，重启FireFox，在网页上点击右键，可看到多出来的菜单选项。 你也可以在FireFox的菜单，工具->附加组件，找到它，并设置它的默认选项： 可以设置Jpg的压缩率，很方便，还可以设置图片的缩放比例。]]></description>
			<content:encoded><![CDATA[<p>找了一款FireFox的网页截图插件，比较适合我的口味，它提供两个功能，保存整个页面为图片，或者是保存可见区域为图片，图像可以保存为 PNG 格式，或者 JPEG 格式。可以设置选项来保存全尺寸网页大小（默认）或者缩放到较小的尺寸。<br />
Page Saver 有两种版本：Basic 和 Pro，其中 Basic 是免费版本，能满足我的需求了~。</p>
<p>Pearl Crescent Page Saver 主页：<a href="http://pearlcrescent.com/products/pagesaver/">http://pearlcrescent.com/products/pagesaver/</a></p>
<p>支持的语言有：<br />
Chinese (Simplified), Chinese (Traditional), Czech, Danish, Dutch, English, French, German, Greek, Italian, Japanese, Korean, Polish, Portuguese (Brazil), Russian, Slovak, Slovenian, Spanish (Spain), Turkish, Ukrainian.<br />
<span id="more-279"></span><br />
安装完后，重启FireFox，在网页上点击右键，可看到多出来的菜单选项。<br />
<img src="http://farm4.static.flickr.com/3454/3378077022_5b1a408d3d_o.png" width="221" height="400" alt="Pearl-Crescent-Page-Saver-Menu" /></p>
<p>你也可以在FireFox的菜单，工具->附加组件，找到它，并设置它的默认选项：<br />
<img src="http://farm4.static.flickr.com/3656/3377306923_ff317bf06e_o.png" width="629" height="478" alt="Pearl-Crescent-Page-Saver-Setting1" /></p>
<p>可以设置Jpg的压缩率，很方便，还可以设置图片的缩放比例。<br />
<img src="http://farm4.static.flickr.com/3563/3378123898_a8f5a37806_o.png" width="629" height="478" alt="Pearl-Crescent-Page-Saver-Setting2" /></p>
]]></content:encoded>
			<wfw:commentRss>http://foxling.org/firefox/pearl-crescent-page-saver-firefox-extensions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>分享链接到嘀咕网 &#8211; DiLink</title>
		<link>http://foxling.org/firefox/dilink-share-link-to-digu-com/</link>
		<comments>http://foxling.org/firefox/dilink-share-link-to-digu-com/#comments</comments>
		<pubDate>Sat, 21 Feb 2009 14:42:30 +0000</pubDate>
		<dc:creator>FoxLing</dc:creator>
				<category><![CDATA[FireFox]]></category>
		<category><![CDATA[APP]]></category>
		<category><![CDATA[DiLink]]></category>
		<category><![CDATA[嘀咕网]]></category>
		<category><![CDATA[微博客]]></category>

		<guid isPermaLink="false">http://wp.foxling.cn/as-flex-air/dilink-share-link-to-digu-com/</guid>
		<description><![CDATA[嘀咕网上线以后，受到一些业界朋友的推荐他好评，出色的界面，不错的用户体验。 小王子说嘀享插件不太好用，不能编辑，限制太多~洁癖的人啊。。。（其实我也。。。） 于是昨晚弄了一个FireFox的扩展，添加一个按钮到FireFox工具栏上，把链接分享到嘀咕网，对于我这种从来不显示书签栏的人(有些分享的插件，是做一个书签，需要显示书签栏，否则不太方便使用)，这种方式太方便了~~ 放出下载地址：http://app.foxling.cn/dilink/ 功能介绍 点击按钮直接分享当前网页 选中页面上的文字，点击按钮，选中的文字将作为嘀咕内容。 安装步骤详解 悄悄放出我在嘀咕网的地址~~http://www.digu.com/foxling 快跟随我的吧，嘿嘿~]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.digu.com/" target="_blank">嘀咕网</a>上线以后，受到一些业界朋友的推荐他好评，出色的界面，不错的用户体验。</p>
<p>小王子说嘀享插件不太好用，不能编辑，限制太多~洁癖的人啊。。。（其实我也。。。）</p>
<p>于是昨晚弄了一个FireFox的扩展，添加一个按钮到FireFox工具栏上，把链接分享到<a target="_blank" href="http://www.digu.com/">嘀咕网</a>，对于我这种从来不显示书签栏的人(有些分享的插件，是做一个书签，需要显示书签栏，否则不太方便使用)，这种方式太方便了~~</p>
<p>放出下载地址：<a href="http://app.foxling.cn/dilink/">http://app.foxling.cn/dilink/</a></p>
<h2><span style="font-size: 16px;">功能介绍</span></h2>
<ul>
<li>点击按钮直接分享当前网页</li>
<li>选中页面上的文字，点击按钮，选中的文字将作为嘀咕内容。</li>
</ul>
<h2>安装步骤详解</h2>
<ol>
<li style="margin-bottom: 15px;"><img align="top" alt="DiLink安装步骤一" src="http://app.foxling.cn/dilink/help/step1.png" /></li>
<li style="margin-bottom: 15px;"><img align="top" alt="DiLink安装步骤二" src="http://app.foxling.cn/dilink/help/step2.png" /></li>
<li style="margin-bottom: 15px;"><img align="top" alt="DiLink安装步骤三" src="http://app.foxling.cn/dilink/help/step3.png" /></li>
<li style="margin-bottom: 15px;"><img align="top" alt="DiLink安装步骤四" src="http://app.foxling.cn/dilink/help/step4.png" /></li>
<li style="margin-bottom: 15px;"><img align="top" alt="DiLink安装步骤五" src="http://app.foxling.cn/dilink/help/step5.png" /></li>
<li style="margin-bottom: 15px;"><img align="top" alt="DiLink安装步骤六" src="http://app.foxling.cn/dilink/help/step6.png" /></li>
<li style="margin-bottom: 15px;"><img align="top" alt="DiLink安装步骤七" src="http://app.foxling.cn/dilink/help/step7.png" /></li>
</ol>
<p>悄悄放出我在嘀咕网的地址~~<a target="_blank" href="http://www.digu.com/foxling">http://www.digu.com/foxling</a> 快跟随我的吧，嘿嘿~</p>
]]></content:encoded>
			<wfw:commentRss>http://foxling.org/firefox/dilink-share-link-to-digu-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FireFox扩展开发，保存文本文件。</title>
		<link>http://foxling.org/firefox/firefox-extensions-save-text-file/</link>
		<comments>http://foxling.org/firefox/firefox-extensions-save-text-file/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 19:24:06 +0000</pubDate>
		<dc:creator>FoxLing</dc:creator>
				<category><![CDATA[FireFox]]></category>
		<category><![CDATA[FireFox扩展]]></category>
		<category><![CDATA[保存文本]]></category>

		<guid isPermaLink="false">http://wp.foxling.cn/as-flex-air/52/</guid>
		<description><![CDATA[var file = Components.classes[&#34;@mozilla.org/file/directory_service;1&#34;] .getService(Components.interfaces.nsIProperties) .get(&#34;AChrom&#34;, Components.interfaces.nsIFile); //.get(&#34;DeskP&#34;, Components.interfaces.nsIFile); file.append(&#34;t.txt&#34;); var strm = Components.classes[&#34;@mozilla.org/network/file-output-stream;1&#34;].cr&#101;ateInstance(Components.interfaces.nsIFileOutputStream); strm.QueryInterface(Components.interfaces.nsIOutputStream); strm.QueryInterface(Components.interfaces.nsISeekableStream); strm.init( file, 0x04 &#124; 0x08 &#124; 0x10, 420, 0 ); strm.write(str,str.length ); strm.flush(); strm.close(); function read(readfile) { var file = Components.classes[&#34;@mozilla.org/file/local;1&#34;] .cr&#101;ateInstance(Components.interfaces.nsILocalFile); file.initWithPath(readfile); var is = Components.classes[&#34;@mozilla.org/network/file-input-stream;1&#34;] .cr&#101;ateInstance(Components.interfaces.nsIFileInputStream); is.init(file, 0x01, 00004, null); var sis = Components.classes[&#34;@mozilla.org/scriptableinputstream;1&#34;] .cr&#101;ateInstance(Components.interfaces.nsIScriptableInputStream); sis.init(is); var [...]]]></description>
			<content:encoded><![CDATA[<pre>
var file = Components.classes[&#34;@mozilla.org/file/directory_service;1&#34;]
.getService(Components.interfaces.nsIProperties)
.get(&#34;AChrom&#34;, Components.interfaces.nsIFile);
//.get(&#34;DeskP&#34;, Components.interfaces.nsIFile);
file.append(&#34;t.txt&#34;);

var strm = Components.classes[&#34;@mozilla.org/network/file-output-stream;1&#34;].cr&#101;ateInstance(Components.interfaces.nsIFileOutputStream);
strm.QueryInterface(Components.interfaces.nsIOutputStream);
strm.QueryInterface(Components.interfaces.nsISeekableStream);
strm.init( file, 0x04 | 0x08 | 0x10, 420, 0 );
strm.write(str,str.length );
strm.flush();
strm.close();
</pre>
<pre>
function read(readfile)
{
var file = Components.classes[&#34;@mozilla.org/file/local;1&#34;]
.cr&#101;ateInstance(Components.interfaces.nsILocalFile);
file.initWithPath(readfile);
var is =
Components.classes[&#34;@mozilla.org/network/file-input-stream;1&#34;]
.cr&#101;ateInstance(Components.interfaces.nsIFileInputStream);
is.init(file, 0x01, 00004, null);
var sis =
Components.classes[&#34;@mozilla.org/scriptableinputstream;1&#34;]
.cr&#101;ateInstance(Components.interfaces.nsIScriptableInputStream);
sis.init(is);
var output = sis.read(sis.available());
alert(output);
}
read(&#34;C:\test.txt&#34;);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://foxling.org/firefox/firefox-extensions-save-text-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FireFox的标签页操作</title>
		<link>http://foxling.org/firefox/firefox-tab/</link>
		<comments>http://foxling.org/firefox/firefox-tab/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 17:10:33 +0000</pubDate>
		<dc:creator>FoxLing</dc:creator>
				<category><![CDATA[FireFox]]></category>
		<category><![CDATA[标签页]]></category>

		<guid isPermaLink="false">http://wp.foxling.cn/as-flex-air/51/</guid>
		<description><![CDATA[[转] 关闭当前标签页： var tab = gBrowser.mCurrentTab; if(tab) gBrowser.removeTab(tab); 关闭左边标签页： var tab = gBrowser.mCurrentTab.boxObject.previousSibling; if(tab) gBrowser.removeTab(tab); 关闭右边标签页： var tab = gBrowser.mCurrentTab.boxObject.nextSibling; if(tab) gBrowser.removeTab(tab); 复制当前标签页： var oldHistory = gBrowser.webNavigation.sessionHistory; gBrowser.sel&#101;ctedTab = gBrowser.addTab(&#34;about:blank&#34;); var newHistory = gBrowser.webNavigation.sessionHistory; newHistory.QueryInterface(Components.interfaces.nsISHistoryInternal); for (var i = 0; i < oldHistory.count; i++) { newHistory.addEntry(oldHistory.getEntryAtIndex(i, false), true); } if(oldHistory.count) gBrowser.webNavigation.gotoIndex(oldHistory.index); 下一个标签页（与ctrl+pagedown同）： gBrowser.mTabContainer.advanceSel&#101;ctedTab(1,true); 上一个标签页（与ctrl+pageup同): gBrowser.mTabContainer.advanceSel&#101;ctedTab(-1,true); [...]]]></description>
			<content:encoded><![CDATA[<p>[转]</p>
<p>关闭当前标签页：<br />
var tab = gBrowser.mCurrentTab;<br />
if(tab) gBrowser.removeTab(tab);</p>
<p>关闭左边标签页：<br />
var tab = gBrowser.mCurrentTab.boxObject.previousSibling;<br />
if(tab) gBrowser.removeTab(tab);</p>
<p>关闭右边标签页：<br />
var tab = gBrowser.mCurrentTab.boxObject.nextSibling;<br />
if(tab) gBrowser.removeTab(tab);</p>
<p>复制当前标签页：<br />
var oldHistory = gBrowser.webNavigation.sessionHistory;<br />
gBrowser.sel&#101;ctedTab = gBrowser.addTab(&#34;about:blank&#34;);<br />
var newHistory = gBrowser.webNavigation.sessionHistory;<br />
newHistory.QueryInterface(Components.interfaces.nsISHistoryInternal);</p>
<p>for (var i = 0; i < oldHistory.count; i++) { newHistory.addEntry(oldHistory.getEntryAtIndex(i, false), true); }</p>
<p>if(oldHistory.count) gBrowser.webNavigation.gotoIndex(oldHistory.index);</p>
<p>下一个标签页（与ctrl+pagedown同）：<br />
gBrowser.mTabContainer.advanceSel&#101;ctedTab(1,true);</p>
<p>上一个标签页（与ctrl+pageup同):<br />
gBrowser.mTabContainer.advanceSel&#101;ctedTab(-1,true);</p>
<p>重新载入其它标签页：<br />
var browsers = gBrowser.browsers;<br />
var i = 0;<br />
var l = browsers.length;<br />
var x = gBrowser.mCurrentTab._tPos;</p>
<p>for(; i < l; i++)<br />
if(i != x) try { browsers[i].reload(); } catch(err){};</p>
<p>重新载入所有标签页：</p>
<p>gBrowser.reloadAllTabs();</p>
<p>重新载入左边所有标签页：</p>
<p>var browsers = gBrowser.browsers;<br />
var i = gBrowser.mCurrentTab._tPos - 1;<br />
var l = -1;</p>
<p>for(; i > l; i&#8211;)<br />
try { browsers[i].reload(); } catch(err){};</p>
<p>重新载入右边所有标签页：</p>
<p>var browsers = gBrowser.browsers;<br />
var i = gBrowser.mCurrentTab._tPos + 1;<br />
var l = browsers.length;</p>
<p>for(; i < l; i++)<br />
try { browsers[i].reload(); } catch(err){};</p>
<p>定位到最左边标签页：</p>
<p>gBrowser.sel&#101;ctedTab = gBrowser.mTabContainer.firstChild;</p>
<p>定位到最右边标签页：</p>
<p>gBrowser.sel&#101;ctedTab =<br />
gBrowser.tabContainer.childNodes[gBrowser.tabContainer.childNodes.length-1];</p>
<p>关闭其他标签页：</p>
<p>gBrowser.removeAllTabsBut(gBrowser.mCurrentTab);</p>
<p>关闭所有标签页：</p>
<p>gBrowser.removeAllTabsBut(gBrowser.mCurrentTab);<br />
gBrowser.removeCurrentTab();</p>
<p>定位到左邻标签页（不能循环）：</p>
<p>gBrowser.mTabContainer.advanceSel&#101;ctedTab(-1);</p>
<p>定位到右邻标签页（不能循环）：</p>
<p>gBrowser.mTabContainer.advanceSel&#101;ctedTab(1);</p>
<p>在当前标签页右边新建标签页：</p>
<p>var x = gBrowser.mCurrentTab._tPos + 1;<br />
gBrowser.moveTabTo(gBrowser.sel&#101;ctedTab = gBrowser.addTab(&#34;about:blank&#34;), x);</p>
<p>高亮关键词后，新建标签页后台搜索（以当前搜索栏搜索引擎，下同）：</p>
<p>BrowserSearch.loadSearch(getBrowserSel&#101;ction(), true);</p>
<p>新建标签页前台搜索：</p>
<p>gBrowser.mPrefs.setBoolPref(&#34;browser.tabs.loadInBackground&#34;,false);<br />
BrowserSearch.loadSearch(getBrowserSel&#101;ction(), true);<br />
gBrowser.mPrefs.setBoolPref(&#34;browser.tabs.loadInBackground&#34;,true);</p>
<p>在当前标签页搜索：</p>
<p>BrowserSearch.loadSearch(getBrowserSel&#101;ction(), false);</p>
<p>在新窗口打开about:config：</p>
<p>toOpenWindowByType(&#39;pref:pref&#39;, &#39;About:config&#39;);</p>
<p>书签管理器对话框：</p>
<p>toOpenWindowByType(&#39;bookmarks:manager&#39;,<br />
&#39;chrome://browser/content/bookmarks/bookmarksManager.xul&#39;);</p>
<p>工具―选项对话框：</p>
<p>openPreferences();</p>
<p>附加软件对话框：</p>
<p>toOpenWindowByType(&#39;Add-ons:manager&#39;,<br />
&#39;chrome://mozapps/content/extensions/extensions.xul&#39;);</p>
<p>scrapbook扩展&#34;获取前进行编辑&#34;命令：</p>
<p>if(sbPageEditor.TOOLBAR.hidden ||<br />
document.getElementById(&#34;ScrapBookToolbox&#34;).hidden) {<br />
sbPageEditor.init();<br />
} else {<br />
sbPageEditor.exit(true);<br />
}</p>
<p>显示/隐藏书签工具栏：</p>
<p>const bmToolbar = document.getElementById(&#34;PersonalToolbar&#34;);<br />
bmToolbar.collapsed = !bmToolbar.collapsed;</p>
<p>显示/隐藏菜单栏：</p>
<p>var mb = document.getElementById(&#34;toolbar-menubar&#34;);<br />
mb.collapsed = !mb.collapsed;</p>
<p>页面向右滚动：</p>
<p>goDoCommand(&#39;cmd_scrollRight&#39;);</p>
<p>页面向左滚动：</p>
<p>goDoCommand(&#39;cmd_scrollLeft&#39;);</p>
<p>页面向上滚动：</p>
<p>goDoCommand(&#39;cmd_scrollLineUp&#39;);</p>
<p>页面向下滚动：</p>
<p>goDoCommand(&#39;cmd_scrollLinedown&#39;);</p>
<p>向下翻页（与space同）：</p>
<p>goDoCommand(&#39;cmd_scrollPageDown&#39;);</p>
<p>向上翻页（与shift+space同）：</p>
<p>goDoCommand(&#39;cmd_scrollPageup&#39;);</p>
<p>回到页首（与home同）：</p>
<p>goDoCommand(&#39;cmd_scrollTop&#39;);</p>
<p>回到页尾（与end同）：</p>
<p>goDoCommand(&#39;cmd_scrollBottom&#39;);</p>
<p>关闭所有正在运行的Firefox程序：</p>
<p>goQuitApplication();</p>
<p>拷贝当前标签页标题：</p>
<p>Components.classes[&#34;@mozilla.org/widget/clipboardhelper;1&#34;]<br />
    .getService(Components.interfaces.nsIClipboardHelper)<br />
    .copyString(content.document.title);</p>
<p>在当前标签打开网页：</p>
<p>gBrowser.loadURI(&#39;http://www.google.com/&#39;);</p>
<p>在新标签打开网页：（原来还可以用来打开about:config。Great!）</p>
<p>var myUrl = &#34;http://www.baidu.com&#34;;<br />
var ff= document.getElementById(&#34;content&#34;);<br />
var tab = ff.addTab(myUrl);<br />
ff.sel&#101;ctedTab = tab;</p>
<p>以定义的书签关键词在当前标签打开书签（对运行bookmarklets非常有用）：</p>
<p>if(window.loadURI) loadURI(getShortcutOrURI(&#39;填入你定义的关键词&#39;,{}));</p>
<p>类似paste and go，节省一次enter键：</p>
<p>var url = readFromClipboard(); if (url) content.location = url;</p>
<p>跟踪下一链接（论坛的Sprill朋友提供，谢谢。下同。）：</p>
<p>var document = window._content.document;<br />
var links = document.links;<br />
for(i = 0; i < links.length; i++) {<br />
if ((links[i].text == &#39;下一页&#39;) ||(links[i].text == &#39;下一页&#39;) ||(links[i].text == &#39;下一页>&#39;)||(links[i].text == &#39;下一页 ?&#39;) ||(links[i].text == &#39;下一页>>&#39;) || (links[i].text == &#39;[下一页]&#39;) || (links[i].text == &#39;【下一页】&#39;) ||(links[i].text == &#39;Next&#39;) || (links[i].text == &#39;next&#39;) || (links[i].text == &#39;??&#39;) || (links[i].text == &#39;>&#39;)) document.location = links[i].href;<br />
}</p>
<p>跟踪上一链接：</p>
<p>var document = window._content.document;<br />
var links = document.links;<br />
for(i = 0; i < links.length; i++) {<br />
if ((links[i].text == &#39;上一页&#39;) ||(links[i].text == &#39;上一页&#39;) ||(links[i].text == &#39;<上一页&#39;)||(links[i].text == &#39;? 上一页&#39;) ||(links[i].text == &#39;<<上一页&#39;) || (links[i].text == &#39;[上一页]&#39;) || (links[i].text == &#39;【上一页】&#39;) ||(links[i].text == &#39;Previous&#39;) || (links[i].text == &#39;Prev&#39;) ||(links[i].text == &#39;previous&#39;) || (links[i].text == &#39;prev&#39;) || (links[i].text == &#39;??&#39;) || (links[i].text == &#39;<&#39;)) document.location = links[i].href;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://foxling.org/firefox/firefox-tab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

