<?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>Life["Breathing"] &#187; 瀏覽器</title>
	<atom:link href="http://blog.hsin.tw/tag/%e7%80%8f%e8%a6%bd%e5%99%a8/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hsin.tw</link>
	<description></description>
	<lastBuildDate>Fri, 06 Jan 2012 10:42:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>修正 IE無法顯示Facebook的Social Plugins</title>
		<link>http://blog.hsin.tw/2011/fix-ie-facebook-social-plugin-not-showing/</link>
		<comments>http://blog.hsin.tw/2011/fix-ie-facebook-social-plugin-not-showing/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 03:09:52 +0000</pubDate>
		<dc:creator>hsin</dc:creator>
				<category><![CDATA[瀏覽器]]></category>
		<category><![CDATA[facebook]]></category>

		<guid isPermaLink="false">http://blog.hsin.tw/?p=415</guid>
		<description><![CDATA[IE真是歹倒叮 測到一半發現IE怎麼都出不來 解法只需要加個東西 在&#60;html>中加入 xmlns:fb="http://www.facebook.com/2008/fbml" 完整的樣子是下面這樣 這樣就可以正常顯示了 參考資料： http://digitizor.com/2010/07/06/fix-facebook-connect-xfbml-not-showing-ie/]]></description>
			<content:encoded><![CDATA[<p>IE真是歹倒叮<br />
<span id="more-415"></span><br />
測到一半發現IE怎麼都出不來<br />
解法只需要加個東西<br />
在&lt;html>中加入<br />
xmlns:fb="http://www.facebook.com/2008/fbml"<br />
完整的樣子是下面這樣</p>
<pre class="brush: plain; title: ; notranslate">
&lt;html xmlns:fb=&quot;http://www.facebook.com/2008/fbml&quot;&gt;
...
&lt;/html&gt;
</pre>
<p>這樣就可以正常顯示了</p>
<p>參考資料：<br />
<a href="http://digitizor.com/2010/07/06/fix-facebook-connect-xfbml-not-showing-ie/">http://digitizor.com/2010/07/06/fix-facebook-connect-xfbml-not-showing-ie/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hsin.tw/2011/fix-ie-facebook-social-plugin-not-showing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gmail不能收含有執行檔的zip檔</title>
		<link>http://blog.hsin.tw/2010/gmail-zip-file-blocked/</link>
		<comments>http://blog.hsin.tw/2010/gmail-zip-file-blocked/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:25:06 +0000</pubDate>
		<dc:creator>hsin</dc:creator>
				<category><![CDATA[gmail]]></category>
		<category><![CDATA[zip]]></category>
		<category><![CDATA[瀏覽器]]></category>

		<guid isPermaLink="false">http://blog.hsin.tw/?p=383</guid>
		<description><![CDATA[剛剛使用ASUS的線上客服 要請他寄驅動程式給我 寄了兩次都沒收到 第三次才跟他說我換aol的信箱收 這樣才收到 剛剛找了一下原因 原來Gmail如果寄的zip裡面含有exe檔案(可執行檔) (這是google的說明頁： 某些檔案類型遭到封鎖) 就會自動擋下來 而且還不會跟收件人說= = 害我以為ASUS的客服偷懶也偷太嚴重了吧 錯怪他了XD 所以下次用gmail寄附件為壓縮檔的時候要記得 看是改壓成rar(不過收件者不一定可以解 沒有另外裝軟體的話 windows內建的解不了) 或是zip壓縮兩次(比較麻煩一點) 或是改副檔名成別的 像是txt(也是有點麻煩 還要請收件者再把副檔名改回來) 最後大絕招是放在隨身碟裡再放進信封 丟進郵筒給他 (誤 以上記一下以免下次又遇到]]></description>
			<content:encoded><![CDATA[<p>剛剛使用ASUS的線上客服<br />
<span id="more-383"></span><br />
要請他寄驅動程式給我<br />
寄了兩次都沒收到<br />
第三次才跟他說我換aol的信箱收<br />
這樣才收到</p>
<p>剛剛找了一下原因<br />
原來Gmail如果寄的zip裡面含有exe檔案(可執行檔)<br />
(這是google的說明頁： <a href="http://mail.google.com/support/bin/answer.py?answer=6590" target="_blank">某些檔案類型遭到封鎖</a>)<br />
就會自動擋下來<br />
而且還不會跟收件人說= =<br />
害我以為ASUS的客服偷懶也偷太嚴重了吧<br />
錯怪他了XD</p>
<p>所以下次用gmail寄附件為壓縮檔的時候要記得<br />
看是改壓成rar(不過收件者不一定可以解 沒有另外裝軟體的話 windows內建的解不了)<br />
或是zip壓縮兩次(比較麻煩一點)<br />
或是改副檔名成別的 像是txt(也是有點麻煩 還要請收件者再把副檔名改回來)<br />
最後大絕招是放在隨身碟裡再放進信封 丟進郵筒給他 (誤</p>
<p>以上記一下以免下次又遇到</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hsin.tw/2010/gmail-zip-file-blocked/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>我的portable apps</title>
		<link>http://blog.hsin.tw/2010/my-portable-apps/</link>
		<comments>http://blog.hsin.tw/2010/my-portable-apps/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 11:25:17 +0000</pubDate>
		<dc:creator>hsin</dc:creator>
				<category><![CDATA[軟體]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[瀏覽器]]></category>

		<guid isPermaLink="false">http://blog.hsin.tw/?p=380</guid>
		<description><![CDATA[最近NB要重灌了 想說就把一些軟體放在USB裡 以後就不用灌一次就裝一次了 我用的apps menu是PStart 因為找了很久 可以滑到螢幕邊緣按右鍵才顯示面板的 好像就只有PStart了 其他都是滑過去就顯示或是放在系統列裡什麼的 有時候很不乖的跳出來 會讓我很焦慮XD 所以就是PStart了 雖然他的畫面簡單了點 ok的 下面就是我目前有裝的軟體 不過有些我已經忘了是哪裡找到的 所以可能不是當初我下載的版本 我也不確定到底是不是安全的 我自己是都有用掃木馬軟體掃過一次 擔心的話就也是裝完再掃過一次囉 .hint{color:#c3c3c3;} PSPad 文字編輯器 一直都是用這款 所以第一個就找免安裝版來用 PSPad 4.5.4.2356 免安裝中文版 from 阿榮福利味 當有更新的版本時 標題可能會不一樣 Notepad++ 文字編輯器 當檔案太大的時候 用PSPad開都會很卡很卡 就改用Notepad++來開 會順很多 官網就有免安裝的版本(.zip)可以下載 Notepad++ &#8230; <a href="http://blog.hsin.tw/2010/my-portable-apps/">繼續閱讀 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>最近NB要重灌了<br />
<span id="more-380"></span><br />
想說就把一些軟體放在USB裡<br />
以後就不用灌一次就裝一次了<br />
我用的apps menu是PStart<br />
因為找了很久 可以滑到螢幕邊緣按右鍵才顯示面板的<br />
好像就只有PStart了<br />
其他都是滑過去就顯示或是放在系統列裡什麼的<br />
有時候很不乖的跳出來 會讓我很焦慮XD<br />
所以就是PStart了 雖然他的畫面簡單了點 ok的</p>
<p>下面就是我目前有裝的軟體<br />
不過有些我已經忘了是哪裡找到的<br />
所以可能不是當初我下載的版本<br />
我也不確定到底是不是安全的<br />
我自己是都有用掃木馬軟體掃過一次<br />
擔心的話就也是裝完再掃過一次囉</p>
<style>.hint{color:#c3c3c3;}</style>
<p><b>PSPad</b><br />
文字編輯器<br />
一直都是用這款 所以第一個就找免安裝版來用<br />
<a href="http://azo-freeware.blogspot.com/2007/11/pspad-4532291.html" target="_blank">PSPad 4.5.4.2356 免安裝中文版</a> from <a href="http://azo-freeware.blogspot.com/" target="_blank">阿榮福利味</a><br />
<span class="hint">當有更新的版本時 標題可能會不一樣</span></p>
<p>
<b>Notepad++</b><br />
文字編輯器<br />
當檔案太大的時候 用PSPad開都會很卡很卡 就改用Notepad++來開 會順很多<br />
官網就有免安裝的版本(.zip)可以下載<br />
<a href="http://notepad-plus.sourceforge.net/tw/site.htm" target="_blank">Notepad++</a></p>
<p>
<b>Firefox</b><br />
瀏覽器<br />
被制約太深了 所以用別的瀏覽器都不順手<br />
<a href="http://azo-freeware.blogspot.com/2006/10/firefox-20.html" target="_blank">[火狐瀏覽器] Firefox Portable 3.6 阿榮版 (2010.01.28)</a> from <a href="http://azo-freeware.blogspot.com/" target="_blank">阿榮福利味</a><br />
<span class="hint">當有更新的版本時 標題可能會不一樣</span></p>
<p>
<b>PCMan</b><br />
BBS軟體<br />
官網就有免安裝的版本(.zip)可以下載<br />
<a href="http://pcman.openfoundry.org/" target="_blank">PCMan</a></p>
<p>
<b>Foobar2000</b><br />
音樂播放軟體<br />
我是裝1.0英文版的<br />
<a href="http://azo-freeware.blogspot.com/2006/10/foobar2000-0941.html" target="_blank">Foobar2000 0.9.6.9 免安裝中文版 (1.0 免安裝英文版)</a> from <a href="http://azo-freeware.blogspot.com/" target="_blank">阿榮福利味</a><br />
<span class="hint">當有更新的版本時 標題可能會不一樣</span></p>
<p>
<b>音樂轉檔精靈</b><br />
音樂轉檔軟體<br />
<a href="http://hola.idv.tw/" target="_blank">紅淚網 HolaNet</a></p>
<p>
<b>PieTTY</b><br />
Telnet/SSH 安全遠端連線程式<br />
<a href="http://www.csie.ntu.edu.tw/~piaip/pietty/" target="_blank">pietty</a></p>
<p>
<b>µTorrent</b><br />
BT下載軟體<br />
<a href="http://azo-freeware.blogspot.com/2006/10/torrent-16474.html" target="_blank">[迷你種子] µTorrent 2.0 .17427 Beta 阿榮版</a> from <a href="http://azo-freeware.blogspot.com/" target="_blank">阿榮福利味</a><br />
<span class="hint">當有更新的版本時 標題可能會不一樣</span></p>
<p>
<b>FileZilla</b><br />
FTP軟體(client端)<br />
<a href="http://portableapps.com/apps/internet/filezilla_portable" target="_blank">FileZilla Portable</a> from <a href="http://portableapps.com/" target="_blank">PortableApps</a></p>
<p>
<b>Taskix</b><br />
windows工具列上的程式按鈕作排序的軟體<br />
2.0的我找不到直接對捷徑設參數的功能 所以我是抓1.5的<br />
<a href="http://blog.hsin.tw/2009/software-taskix-reorder-buttons-in-your-windows-taskbar" target="_blank">我之前寫的介紹</a><br />
<a href="http://taskix.robustit.com/Taskix1.5_32.zip" target="_blank">Taskix 1.5下載連結(32bit)</a> from <a href="http://taskix.robustit.com/">官網</a></p>
<p><b>CDBurnerXP</b><br />
燒錄軟體<br />
<a href="http://azo-freeware.blogspot.com/2007/09/cdburnerxp-40013220.html" target="_blank">CDBurnerXP 4.2.3.1110 免安裝中文版 (4.2.7.1849 中文版)</a> from <a href="http://azo-freeware.blogspot.com/" target="_blank">阿榮福利味</a><br />
<span class="hint">當有更新的版本時 標題可能會不一樣</span></p>
<p>
<b>LevinISO</b><br />
虛擬光碟軟體<br />
是簡體中文的 而且好像沒有在更新了 不過很方便的工具 所以還是拿來用了<br />
<a href="http://www.freegroup.org/2009/06/free-software-leviniso/" target="_blank">LevinISO &#8211; 免費綠色版虛擬光碟，檔案小、無須安裝，支援超過20種映像檔格式！</a> from <a href="http://www.freegroup.org/" target="_blank">免費資源網路社群</a></p>
<p>
<b>LockHunter</b><br />
解除被鎖定的檔案與資料夾軟體<br />
<a href="http://portable.easylife.tw/1827" target="_blank">LockHunter 1.0 beta 3 &#8211; 解除被鎖定的檔案與資料夾</a> from <a href="http://portable.easylife.tw/" target="_blank">綠色工廠 Easylife Blog</a></p>
<p>
<b>靈格斯詞霸</b><br />
翻譯軟體<br />
<a href="http://www.lingoes.cn/zh/translator/download.htm" target="_blank">下載靈格斯詞霸</a></p>
<p>
<b>7-Zip</b><br />
解壓縮軟體<br />
<a href="http://www.inote.tw/2007/07/7-zip-450-beta.html" target="_blank">7-Zip 4.65 / 9.10 Beta 中文免安裝版下載！(內附教學連結)</a> from <a href="http://www.inote.tw/" target="_blank">海芋小站</a></p>
<p>
<b>PhotoCap</b><br />
圖片編輯軟體<br />
<a href="http://tw.myblog.yahoo.com/pp-king/article?mid=10268" target="_blank">PhotoCap 5.0 繁中免安裝版[圖片編修]</a> from <a href="http://tw.myblog.yahoo.com/pp-king" target="_blank">PP熊</a></p>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hsin.tw/2010/my-portable-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome可以用Greasemonkey囉</title>
		<link>http://blog.hsin.tw/2010/google-chrome-greasemonkey/</link>
		<comments>http://blog.hsin.tw/2010/google-chrome-greasemonkey/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 02:44:41 +0000</pubDate>
		<dc:creator>hsin</dc:creator>
				<category><![CDATA[瀏覽器]]></category>

		<guid isPermaLink="false">http://blog.hsin.tw/?p=377</guid>
		<description><![CDATA[在Chrome 4.0還是測試版的時候 要用greasemonkey的功能還必須自己加參數才能使用 現在已經正式可以使用啦~ 真是令人雀躍的消息 XD 只要在Userscripts.org裡找到要使用的script 直接按下 install Chrome就會自動將這個script轉換成擴充套件 這樣就可以使用囉 不過目前有15%到25%的script還不能用 但是也夠多了 XD enjoy it~ from: Google Chrome Gets Greasemonkey Support]]></description>
			<content:encoded><![CDATA[<p>在Chrome 4.0還是測試版的時候 要用greasemonkey的功能還必須自己加參數才能使用<br />
<span id="more-377"></span><br />
現在已經正式可以使用啦~<br />
真是令人雀躍的消息 XD<br />
只要在<a href="http://Userscripts.org" target="_blank">Userscripts.org</a>裡找到要使用的script<br />
直接按下 install<br />
Chrome就會自動將這個script轉換成擴充套件<br />
這樣就可以使用囉<br />
不過目前有15%到25%的script還不能用<br />
但是也夠多了 XD<br />
enjoy it~</p>
<p>from: <a href="http://mashable.com/2010/02/01/google-chrome-greasemonkey-2/" target="_blank">Google Chrome Gets Greasemonkey Support</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hsin.tw/2010/google-chrome-greasemonkey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在IE中看iframe嵌入不同網域的網頁時 會無法使用cookie的問題</title>
		<link>http://blog.hsin.tw/2010/ie-blocking-iframe-cookie/</link>
		<comments>http://blog.hsin.tw/2010/ie-blocking-iframe-cookie/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 10:33:09 +0000</pubDate>
		<dc:creator>hsin</dc:creator>
				<category><![CDATA[瀏覽器]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.hsin.tw/?p=374</guid>
		<description><![CDATA[有些問題真的是不遇到就真的不知道會這樣阿~ 這幾天遇到這個問題 iframe如果嵌入了不同網域的網頁 則以IE看這網頁時 會無法使用cookie 應該是某些安全性的問題 但是只有IE會這樣就&#8230;&#8230;&#8230;&#8230;&#8230;&#124;&#124;&#124; 所幸經過咕狗大神的提點之後 在這裡找到了解決的辦法 IE Blocking iFrame Cookies 以php的解決方法來說 只要在每個會嵌入在iframe中的頁面裡加上這行 就可以囉 其他還有 ASP.NET、Django、JSP的寫法就去原始頁面看囉]]></description>
			<content:encoded><![CDATA[<p>有些問題真的是不遇到就真的不知道會這樣阿~<br />
<span id="more-374"></span><br />
這幾天遇到這個問題<br />
iframe如果嵌入了不同網域的網頁<br />
則以IE看這網頁時 會無法使用cookie<br />
應該是某些安全性的問題<br />
但是只有IE會這樣就&#8230;&#8230;&#8230;&#8230;&#8230;|||</p>
<p>所幸經過咕狗大神的提點之後<br />
在這裡找到了解決的辦法<br />
<a href="http://adamyoung.net/IE-Blocking-iFrame-Cookies" target="_blank">IE Blocking iFrame Cookies</a></p>
<p>以php的解決方法來說<br />
只要在每個會嵌入在iframe中的頁面裡加上這行</p>
<pre class="brush: php; title: ; notranslate">
header('P3P:CP=&quot;IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT&quot;');
</pre>
<p>就可以囉</p>
<p>其他還有<br />
ASP.NET、Django、JSP的寫法就去原始頁面看囉</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hsin.tw/2010/ie-blocking-iframe-cookie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox升級到3.5.x時 書籤工具列會縮起來</title>
		<link>http://blog.hsin.tw/2009/firefox3-5-x-bookmarksbarcontent/</link>
		<comments>http://blog.hsin.tw/2009/firefox3-5-x-bookmarksbarcontent/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 17:36:43 +0000</pubDate>
		<dc:creator>hsin</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[瀏覽器]]></category>

		<guid isPermaLink="false">http://blog.hsin.tw/?p=363</guid>
		<description><![CDATA[這次家裏電腦的fx升級到3.5 然後又忘記怎麼解決了 所以記一下咕狗到的東西 升級後書籤工具列會縮起來 這是在官方討論區中咕狗到的 解決的方法是 以Stylish擴充套件新增下列樣式(或改userChrome.css檔內容) 這是MozTW討論區的jefm提供的解法 感謝~~~]]></description>
			<content:encoded><![CDATA[<p>這次家裏電腦的fx升級到3.5 然後又忘記怎麼解決了<br />
<span id="more-363"></span><br />
所以記一下咕狗到的東西<br />
<a href="http://forum.moztw.org/viewtopic.php?f=2&#038;t=27252" target="_blank">升級後書籤工具列會縮起來</a><br />
這是在官方討論區中咕狗到的<br />
解決的方法是<br />
以Stylish擴充套件新增下列樣式(或改userChrome.css檔內容)</p>
<pre class="brush: css; title: ; notranslate">
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
#bookmarksBarContent .bookmark-item
{visibility: visible !important;}
</pre>
<p>這是<a href="http://forum.moztw.org/index.php" target="_blank">MozTW討論區</a>的jefm提供的解法<br />
感謝~~~</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hsin.tw/2009/firefox3-5-x-bookmarksbarcontent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery in Action Ch.7 筆記</title>
		<link>http://blog.hsin.tw/2009/jquery-in-action-ch-7/</link>
		<comments>http://blog.hsin.tw/2009/jquery-in-action-ch-7/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 12:03:52 +0000</pubDate>
		<dc:creator>hsin</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[瀏覽器]]></category>

		<guid isPermaLink="false">http://blog.hsin.tw/?p=316</guid>
		<description><![CDATA[ch.7 Extending jQuery with custom plugins .method{background-color:#ffffcc;color:#000000;margin:10px;width:200px;text-align:center;} .title{background-color:#dddddd;color:#000000;margin-top:25px;} .subtitle{background-color:#eeeeee;color:#000000;;margin-top:10px;} 7.1 Why extend? 使用自訂擴充的plugin可以讓程式及設計有一致性 而且建立重複使用的設計有很多優點 繼承進而擴充了jQuery裡原本就存在的功能更是可以讓事情變得更簡單 7.2 The jQuery plugin authoring guidelines 要建立自訂擴充的plugin需要一定的規範及規則 以確保可以與其他plugin甚至是其他js lib正常地運作 Extending jQuery包含了像是Utility functions或是Methods兩種形式 7.2.1 Naming files and functions 為了避免plugin的檔名與原本已經在使用或是其他人建立的檔名重複 這邊提了三點建議 1.以jquery為開頭(可以避免與不是以jQuery為基礎的其他js檔重複) 2.接著可以寫這個plugin的名字 3.最後以.js結尾 以書中的例子來說 如果要寫一個名為Fred的plugin 其檔名可以命名為jquery.fred.js &#8230; <a href="http://blog.hsin.tw/2009/jquery-in-action-ch-7/">繼續閱讀 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>ch.7 Extending jQuery with custom plugins<br />
<span id="more-316"></span></p>
<style>
.method{background-color:#ffffcc;color:#000000;margin:10px;width:200px;text-align:center;}
.title{background-color:#dddddd;color:#000000;margin-top:25px;}
.subtitle{background-color:#eeeeee;color:#000000;;margin-top:10px;}
</style>
<div class="title">7.1 Why extend?</div>
<p>使用自訂擴充的plugin可以讓程式及設計有一致性<br />
而且建立重複使用的設計有很多優點<br />
繼承進而擴充了jQuery裡原本就存在的功能更是可以讓事情變得更簡單</p>
<div class="title">7.2 The jQuery plugin authoring guidelines</div>
<p>要建立自訂擴充的plugin需要一定的規範及規則<br />
以確保可以與其他plugin甚至是其他js lib正常地運作<br />
Extending jQuery包含了像是Utility functions或是Methods兩種形式</p>
<div class="subtitle">7.2.1 Naming files and functions</div>
<p>為了避免plugin的檔名與原本已經在使用或是其他人建立的檔名重複<br />
這邊提了三點建議<br />
1.以jquery為開頭(可以避免與不是以jQuery為基礎的其他js檔重複)<br />
2.接著可以寫這個plugin的名字<br />
3.最後以.js結尾<br />
以書中的例子來說<br />
如果要寫一個名為Fred的plugin<br />
其檔名可以命名為<b>jquery.fred.js</b></p>
<p>另一個有用的方法 可以上<a href="http://docs.jquery.com/Plugins">jQuery收集plugin的地方</a>找找看<br />
如果看到相同的名字就可以避免重複囉</p>
<p>同樣的避免function名字與別人重複到<br />
也是一樣的方法</p>
<div class="subtitle">7.2.2 Beware the $</div>
<pre class="brush: jscript; title: ; notranslate">
jQuery('#myitem').show();
</pre>
<p>如果是自己在寫jQuery的script時<br />
常常會使用$來代替jQuery的寫法<br />
但是在寫plugin時<br />
則是可以使用jQuery來寫<br />
以避免不確定性(例如同頁面有使用prototype.js)囉<br />
或是如前一章6.2所提的</p>
<pre class="brush: jscript; title: ; notranslate">
(function($){
//
// 在這裡使用$
//
})(jQuery);
</pre>
<p>寫在這裡面時就可以用$囉</p>
<div class="subtitle">7.2.3 Taming complex parameter lists</div>
<p>在使用plugin時可能會需要傳入不同的參數來運用<br />
但是有時只需要用預設值就好了</p>
<pre class="brush: jscript; title: ; notranslate">
//例如有一個function有7個參數
function complex(p1,p2,p3,p4,p5,p6,p7) {/* ... */}
//
//但有時只需要填入p1或是p7的值來使用
complex(valueA,null,null,null,null,null,valueB);
//
//甚或是這樣
complex(valueA,null,valueC,valueD,null,null,valueB);
</pre>
<p>這樣會造成傳入及讀取參數的複雜度<br />
所以可以使用下面的方法來取代</p>
<pre class="brush: jscript; title: ; notranslate">
complex(valueA, {
  p3: valueC,
  p4: valueD,
  p7: valueB
});
</pre>
<p>將一定要傳入的參數如同之前一樣的設定置放<br />
而把其他有時候可以省略的參數合併放在一個object中<br />
這樣便不用在意是第幾個參數省略<br />
或是傳入了多少個參數了</p>
<p>在plugin裡要使用參數的時候<br />
可以利用6.3.6講到的$.extend()</p>
<pre class="brush: jscript; title: ; notranslate">
function complex(p1,options){
  var settings = $.extend({
    option1: defaultValue1,
    option2: defaultValue2,
    option3: defaultValue3,
    option4: defaultValue4,
    option5: defaultValue5,
    option6: defaultValue6
  },options||{});
  //其他script
}
</pre>
<p>因為$.extend()裡排在後面的object會把前面的object中有相同的property值蓋過去<br />
所以如果有填入參數 就會使用填入的參數<br />
不然就是使用預設的參數<br />
而有一點要注意的是<b>||{}</b>這個地方<br />
當完全沒有填入參數時<br />
就都使用plugin中的預設值</p>
<div class="title">7.3 Writing custom utility functions</div>
<pre class="brush: jscript; title: ; notranslate">
(function($){
//
// 在這裡使用$
//
})(jQuery);
</pre>
<p>就如同7.2.2講的<br />
如果在plugin中有大量使用到jQuery自己本身的method<br />
可以使用上面這樣的方法<br />
就可以在裡面使用$ 而不受到干擾</p>
<div class="subtitle">7.3.1 Creating a data manipulation utility function</div>
<div class="subtitle">7.3.2 Writing a date formatter</div>
<p>這兩小節各別有一個Utility functions類型的自訂擴充練習</p>
<div class="title">7.4 Adding new wrapper methods</div>
<p>要建立wrapper methods是使用<b>$.fn</b><br />
下面是一個簡單的例子</p>
<pre class="brush: jscript; title: ; notranslate">
(function($){
  $.fn.makeItBlue = function() {
    return this.css('color','blue');
  }
})(jQuery);
</pre>
<p>通常來說 除非是特殊需要<br />
否則return的值仍是該wrapped set<br />
這樣才能繼續在chain中使用這組elements</p>
<div class="subtitle">7.4.1 Applying multiple operations in a wrapper method</div>
<div class="subtitle">7.4.2 Retaining state within a wrapper method</div>
<p>這兩小節各別有一個wrapper method類型的自訂擴充練習</p>
<pre class="brush: jscript; title: ; notranslate">
(function($){
  //將settings定義在這裡 才能讓其他的methods(如下面的showPhoto)使用到
  var settings;
  //主要的plugin
  $.fn.photomatic = function(callerSettings) {
    //如同7.2.3所講的參數用法一樣
    settings = $.extend({
      photoElement: '#photomaticPhoto',
      lastControl: null
    }, callerSettings || {});
    //plugin所執行的功能
    settings.thumbnails = this.filter('img');
    settings.thumbnails.click(function(){ showPhoto(this.index); });
    //如果有需要 可以給一個初始值
    showPhoto(0);
    //返回同樣的wrapped set
    return this;
  };
  //將重複性的功能另外寫一個method
  var showPhoto = function(index) {
    settings.photoElement
      .attr('src',settings.transformer(settings.thumbnails[index].src));
    settings.current = index;
  };
})(jQuery);
</pre>
<p>在7.4.2中 講解的例子架構大概是上面這樣(有刪掉部份的東西)</p>
<p><!--<br />
-本章小節-<br />
自己寫plugin我還沒嘗試過<br />
下次來踹踹<br />
(有結跟沒結一樣...)<br />
--></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hsin.tw/2009/jquery-in-action-ch-7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery in Action Ch.6 筆記</title>
		<link>http://blog.hsin.tw/2009/jquery-in-action-ch-6/</link>
		<comments>http://blog.hsin.tw/2009/jquery-in-action-ch-6/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 12:11:36 +0000</pubDate>
		<dc:creator>hsin</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[瀏覽器]]></category>

		<guid isPermaLink="false">http://blog.hsin.tw/?p=304</guid>
		<description><![CDATA[ch.6 jQuery utility functions .method{background-color:#ffffcc;color:#000000;margin:10px;width:200px;text-align:center;} .title{background-color:#dddddd;color:#000000;margin-top:25px;} .subtitle{background-color:#eeeeee;color:#000000;;margin-top:10px;} 這章會介紹除了操作elements外的utility functions 6.1 Using the jQuery flags 這節要介紹三個jQuery flags $.browser $.boxModel $.styleFloat 6.1.1 Detecting the user agent (jQuery1.3已經不建議使用$.browser，而有新增一個新的物件$.support) 檢測使用者所用的瀏覽器 一開始是先介紹使用判斷method的方法 而這個可能發生的問題是 method可以使用 但是裡面帶的參數因為不同的瀏覽器而有不同的意義 所以jQuery提供了一個辨識瀏覽器的方法 $.browser 會有下面幾個值 $.browser.msie $.browser.mozilla $.browser.safari $.browser.opera $.browser.version 前面四個返回的是boolean值 是將瀏覽器歸類到四大類 &#8230; <a href="http://blog.hsin.tw/2009/jquery-in-action-ch-6/">繼續閱讀 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>ch.6 jQuery utility functions<br />
<span id="more-304"></span></p>
<style>
.method{background-color:#ffffcc;color:#000000;margin:10px;width:200px;text-align:center;}
.title{background-color:#dddddd;color:#000000;margin-top:25px;}
.subtitle{background-color:#eeeeee;color:#000000;;margin-top:10px;}
</style>
<p>這章會介紹除了操作elements外的utility functions</p>
<div class="title">6.1 Using the jQuery flags</div>
<p>這節要介紹三個jQuery flags<br />
$.browser<br />
$.boxModel<br />
$.styleFloat</p>
<div class="subtitle">6.1.1 Detecting the user agent</div>
<div style="color:#cc0000;">(jQuery1.3已經不建議使用$.browser，而有新增一個新的物件<a href="http://docs.jquery.com/Utilities/jQuery.support" target="_blank">$.support</a>)</div>
<p>檢測使用者所用的瀏覽器<br />
一開始是先介紹使用判斷method的方法</p>
<pre class="brush: jscript; title: ; notranslate">
if (element.attachEvent) {
  element.attachEvent('onclick',someHandler);
}
else if (element.addEventListener) {
  element.addEventListener('click',someHandler);
}
else {
  throw new Error('event handling not supported');
}
</pre>
<p>而這個可能發生的問題是 method可以使用<br />
但是裡面帶的參數因為不同的瀏覽器而有不同的意義<br />
所以jQuery提供了一個辨識瀏覽器的方法</p>
<div class="method">$.browser</div>
<pre class="brush: jscript; title: ; notranslate">
if($.browser.msie){
	alert('這是IE瀏覽器');
}
</pre>
<p>會有下面幾個值<br />
$.browser.msie<br />
$.browser.mozilla<br />
$.browser.safari<br />
$.browser.opera<br />
$.browser.version<br />
前面四個返回的是boolean值<br />
是將瀏覽器歸類到四大類<br />
如果為該類即返回true<br />
其餘會是false<br />
而有些瀏覽器因為版本不同 也可能會有差異 所以$.browser.version是使用的版本</p>
<p>建議是method方法也無法判別了才使用$.browser</p>
<div class="subtitle">6.1.2 Determining the box model</div>
<div style="color:#cc0000;">(jQuery1.3已經不建議使用$.boxModel，而有新增一個新的物件<a href="http://docs.jquery.com/Utilities/jQuery.support" target="_blank">$.support</a>)</div>
<div class="method">$.boxModel</div>
<p>$.boxModel返回一個boolean值<br />
當是使用W3C standard box model時返回true<br />
而使用IE box model(或是說traditional box model)時返回false<br />
這個需要用到的時機<br />
書中提到的是關於width跟height的解釋<br />
使用W3C standard box model時<br />
計算width跟height不會包含padding跟border的pixels<br />
而IE box model則會包含<br />
所以可能會造成elements的大小在不同瀏覽器看起來會不太一樣</p>
<div class="subtitle">6.1.3 Detecting the correct float style to use</div>
<div class="method">$.styleFloat</div>
<p>在不同的瀏覽器對於float有不同的名字<br />
在IE是styleFloat 其他的則是cssFloat<br />
所以使用$.styleFloat就不用擔心這個問題了</p>
<pre class="brush: jscript; title: ; notranslate">
element.style[$.styleFloat] = 'left';
</pre>
<p>不過通常使用css(&#8216;float&#8217;)就可以了<br />
$.styleFloat主要是給plugins或是extensions製作的人使用</p>
<div class="title">6.2 Using other libraries with jQuery</div>
<div class="method">$.noConflict()</div>
<p>在Ch1有稍微提到<br />
如果在同個頁面上要使用其他的javascript library<br />
可以使用$.noConflict()來避免衝突</p>
<pre class="brush: jscript; title: ; notranslate">
var $j = jQuery.noConflict();
</pre>
<p>這樣就可以使用$j來代替jQuery或是$了</p>
<p>或是可以使用下面這樣</p>
<pre class="brush: jscript; title: ; notranslate">
//要注意有帶參數$喔
(function($) { /* function body here */ })(jQuery);
//或是下面這個ready function
jQuery(function($){alert('$ = '+ $);});
</pre>
<p>在裡面就還是可以使用$來操作囉</p>
<div class="title">6.3 Manipulating JavaScript objects and collections</div>
<div class="subtitle">6.3.1 Trimming strings</div>
<div class="method">$.trim(value)</div>
<pre class="brush: jscript; title: ; notranslate">
$('#someField').val($.trim($('#someField').val()));
</pre>
<p>就像PHP中trim()的函式<br />
將字串前後的空白都消除掉<br />
在表單驗證中很常用到</p>
<div class="subtitle">6.3.2 Iterating through properties and collections</div>
<div class="method">$.each(container,callback)</div>
<p>對一個array或object中的值依序作處理</p>
<pre class="brush: jscript; title: ; notranslate">
var anArray = ['one','two','three'];
$.each(anArray,function(n,value) {
  //do something here
});
var anObject = {one:1, two:2, three:3};
$.each(anObject,function(name,value) {
  //do something here
});
</pre>
<p>container是要處理的array或是object<br />
callback是作處理的function<br />
這個function會有兩個參數 第一個是index 第二個是value</p>
<div class="subtitle">6.3.3 Filtering arrays</div>
<div class="method">$.grep(array,callback,invert)</div>
<p>以某個條件過濾一個array以生成另一個新的array </p>
<pre class="brush: jscript; title: ; notranslate">
var arr = [ 1, 9, 3, 8, 6, 1, 5, 9, 4, 7, 3, 8, 6, 9, 1 ];
var newarr = $.grep(arr, function(n, i){
					      return (n &gt; 5);
					    });
//新生成的newarr會是 [9, 8, 6, 9, 7, 8, 6, 9]
</pre>
<p>第一個參數array很明顯的就是要處理的array<br />
第二個參數callback是作處理的function 會有兩個參數 第一個是value 第二個是index<br />
第三個參數invert是個boolean值<br />
如果省略invert或是填寫false時 當callback返回值為true的話 就會將這個值放進新生成的array中<br />
如果invert填入true 則當callback返回值為false才會將這個值放進新生成的array中</p>
<pre class="brush: jscript; title: ; notranslate">
var bigNumbers = $.grep(originalArray,'a&gt;100');
//這時jQuery會自己建立一個function
function(a,i){return a&gt;100;}
//而a就是value ,i就是index
</pre>
<p>如上所示 callback也可以簡寫為一個string</p>
<div class="subtitle">6.3.4 Translating arrays</div>
<div class="method">$.map(array,callback)</div>
<p>對一個array作處理並生成為一個新array<br />
第一個參數array是要處理的array<br />
第二個參數callback是作處理的function 會有兩個參數 第一個是value 第二個是index</p>
<pre class="brush: jscript; title: ; notranslate">
//將array中的每個值都+1
var oneBased = $.map([0,1,2,3,4],function(value){return value+1;});
//callback如同$.grep()一樣 也是可以寫成一個string
var oneBased = $.map([0,1,2,3,4],'a+1');
</pre>
<p>而有一點要注意的是<br />
如果callback返回值為null或是undefined<br />
則這個值就不會被放進新array中<br />
所以新的array元素個數是有可能比原本的array少</p>
<pre class="brush: jscript; title: ; notranslate">
var characters = $.map(
  ['that','other thing'],
  function(value){return value.split('');}
);
//characters會是['t','h','a','t','o','t','h','e','r',' ','t','h','i','n','g']
</pre>
<p>如上所示 另一個可以提的是<br />
如果callback處理值完之後 回傳的是一個array<br />
則會將這些所有回傳的array都和在同一個新的array中</p>
<div class="subtitle">6.3.5 More fun with JavaScript arrays</div>
<div class="method">$.inArray(value,array)</div>
<p>判斷一個array中有沒有某個值</p>
<pre class="brush: jscript; title: ; notranslate">
var index = $.inArray(2,[1,2,3,4,5]);
//會返回1
</pre>
<p>第一個參數value是要判斷的值<br />
當第二個參數array中遇到第一個值為value的時候 會返回其index<br />
找不到的時候則會返回-1</p>
<div class="method">$.makeArray(object)</div>
<pre class="brush: jscript; title: ; notranslate">
var images = document.getElementsByTagName(&quot;img&quot;);
//這樣是一個NodeList
</pre>
<p>將一個array-like object(像是一個NodeList)轉換成array</p>
<div class="method">$.unique(array)</div>
<p>將array中相同的值剔除掉</p>
<div class="subtitle">6.3.6 Extending objects</div>
<div class="method">$.extend(target,source1,source2, &#8230; sourceN)</div>
<p>將數個object合併<br />
下面是一個簡單的例子</p>
<pre class="brush: jscript; title: ; notranslate">
var target =  { a: 1, b: 2, c: 3 };
var source1 = { c: 4, d: 5, e: 6 };
var source2 = { e: 7, f: 8, g: 9 };
$.extend(target,source1,source2);
</pre>
<p>如果沒有返回給一個新的object<br />
則是會合併在第一個參數target<br />
而這個例子中 target會變為{a: 1, b: 2, c: 4, d: 5, e: 7, f: 8, g: 9}<br />
有一點要注意的是<br />
如果objects中有相同的property 則後面的object的會蓋過前面的<br />
(這個例子就是source1的c:4會蓋過target的c:4，source2的e:7會蓋過source1的e:6)</p>
<div class="title">6.4 Dynamically loading scripts</div>
<div class="method">$.getScript(url,callback)</div>
<p>依據條件或是情況下再讀取其他的外部script 而不是在頁面load時就讀取script<br />
第一個參數url是要讀取的script的路徑<br />
第二個參數是讀取script完成後會執行的function</p>
<p><!--[本章小結]<br />
我以前比較少用到utility functions的東西<br />
所以這章講的東西大多都是第一次見到<br />
有些東西看起來<br />
用了應該是可以省很多力氣的~<br />
但是還是要多想多練習才知道哪裡需要用或是用得到--></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hsin.tw/2009/jquery-in-action-ch-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>造飛機~</title>
		<link>http://blog.hsin.tw/2009/plane/</link>
		<comments>http://blog.hsin.tw/2009/plane/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 10:26:56 +0000</pubDate>
		<dc:creator>hsin</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[瀏覽器]]></category>

		<guid isPermaLink="false">http://blog.hsin.tw/?p=262</guid>
		<description><![CDATA[不知道有沒有人發現上面有時候會有一隻飛機從右邊往左邊飛過去XD 這是我突然覺得上面標題的地方好像有點空 好像該加些什麼喔 所以想說加台會飛的飛機好了 哈哈 他有一定的機率會出現 所以不是每次都會出現囉 如果不想瞭解運作原理的話 可以直接下載檔案就好~ 這是檔案連結 將plane這個資料夾放在跟網頁同一層的目錄 並在該網頁的&#60;body>&#60;/body>之中的任何地方加上一行 建議是頁面的最後 也就是&#60;/body>的上面一行 就有飛機飛囉~ (如果網頁有作網址rewrite 就可能要把此js檔的路徑跟js檔中圖檔的路徑改成絕對路徑才會正常動作喔) 有時候會卡卡的 應該就是. . .瀏覽器的關係 用google chrome看會飛很快XD ========分隔線===========分隔線========分隔線============= 以下是有用到的相關原理 一共需要4種東西 首先是要加入load事件 可以參考這個 這樣如果頁面上已經有其他onload的函式 就不會被蓋掉了 再來呢 因為要讓飛機從最右邊開始飛 所以要取得可視螢幕的寬度大小 可以參考這裡 而需要這段程式也是因為IE比較XXX的關係 所以要判斷是不是IE 第三點呢 則是只有當圖片是png才需要的 因為IE6之前的瀏覽器 不支援透明的png圖片(會顯示一塊灰色的) &#8230; <a href="http://blog.hsin.tw/2009/plane/">繼續閱讀 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>不知道有沒有人發現上面有時候會有一隻飛機從右邊往左邊飛過去XD<br />
<span id="more-262"></span><br />
這是我突然覺得上面標題的地方好像有點空<br />
好像該加些什麼喔<br />
所以想說加台會飛的飛機好了 哈哈<br />
他有一定的機率會出現 所以不是每次都會出現囉<br />
如果不想瞭解運作原理的話 可以直接下載檔案就好~<br />
這是<a href="http://ex.hsin.tw/files/pack.zip">檔案連結</a><br />
將plane這個資料夾放在跟網頁同一層的目錄<br />
並在該網頁的&lt;body>&lt;/body>之中的任何地方加上一行<br />
建議是頁面的最後 也就是&lt;/body>的上面一行</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script src=&quot;plane/plane.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</pre>
<p>就有飛機飛囉~<br />
(如果網頁有作網址rewrite 就可能要把此js檔的路徑跟js檔中圖檔的路徑改成絕對路徑才會正常動作喔)</p>
<p>有時候會卡卡的 應該就是. . .瀏覽器的關係<br />
用google chrome看會飛很快XD</p>
<p>========分隔線===========分隔線========分隔線=============</p>
<p>以下是有用到的相關原理<br />
一共需要4種東西</p>
<p>首先是要加入load事件<br />
可以參考<a href="http://www.jaceju.net/blog/?p=160" target="_blank">這個</a></p>
<pre class="brush: jscript; title: ; notranslate">
var oldOnload=window.onload||function(){};
window.onload=function(){
oldOnload();
//do something
}
</pre>
<p>這樣如果頁面上已經有其他onload的函式 就不會被蓋掉了</p>
<p>再來呢<br />
因為要讓飛機從最右邊開始飛<br />
所以要取得可視螢幕的寬度大小<br />
可以參考<a href="http://www.howtocreate.co.uk/tutorials/javascript/browserwindow" target="_blank">這裡</a><br />
而需要這段程式也是因為IE比較XXX的關係<br />
所以要判斷是不是IE</p>
<pre class="brush: jscript; title: ; notranslate">
function getSize(){
  var myWidth=0;
  if(typeof(window.innerWidth)=='number'){//Non-IE
    myWidth=window.innerWidth;
  }else if(document.documentElement &amp;&amp; (document.documentElement.clientWidth||document.documentElement.clientHeight)){//IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
  }else if(document.body &amp;&amp; (document.body.clientWidth||document.body.clientHeight)){//IE 4 compatible
    myWidth = document.body.clientWidth;
  }
  return myWidth;
}
</pre>
<p>第三點呢<br />
則是只有當圖片是png才需要的<br />
因為IE6之前的瀏覽器 不支援透明的png圖片(會顯示一塊灰色的)<br />
所以如果當圖片是png的時候<br />
需要用到一點css hack<br />
下面是函式中的片段</p>
<pre class="brush: jscript; title: ; notranslate">
var img_src=&quot;plane/plane.png&quot;;
var img2_src=&quot;plane/transparent.gif&quot;;
var img_w=45;
var img_h=45;
var img=document.createElement(&quot;img&quot;);
if(navigator.appName==&quot;Microsoft Internet Explorer&quot;){
	img.src=img2_src;
	img.width=img_w;
	img.height=img_h;
	img.style.filter=&quot;progid:DXImageTransform.Microsoft.AlphaImageLoader(src=&quot;+img_src+&quot;, sizingmethod=scale);&quot;;
}
else{
	img.src=img_src;
}
</pre>
<p>如果為IE的話 則是先將原本的圖片替換成一張透明的圖片<br />
並設定這張透明的圖片寬度高度 使寬高跟原本的圖片一樣<br />
再加上IE特有的filter<br />
便完成了</p>
<p>最後一點就是讓飛機動起來～<br />
先將這個&lt;img>的position設定為absolute<br />
並設定好top跟left<br />
再利用setTimeout()改變他的left<br />
結果就會很像在動囉~</p>
<p>如果要看完整的js檔 可以在該下載檔案裡面看到喔</p>
<p>這個例子沒有用到javascript library(如jQuery)<br />
所以碼不是太簡潔<br />
如果利用jQuery的話 會更簡單<br />
下次再試試看XD</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hsin.tw/2009/plane/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>書籤小工具網頁簡轉繁、繁轉簡</title>
		<link>http://blog.hsin.tw/2009/bookmarklet-chinese-translate/</link>
		<comments>http://blog.hsin.tw/2009/bookmarklet-chinese-translate/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 14:31:29 +0000</pubDate>
		<dc:creator>hsin</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[bookmarklet]]></category>
		<category><![CDATA[瀏覽器]]></category>

		<guid isPermaLink="false">http://blog.hsin.tw/?p=256</guid>
		<description><![CDATA[在重灌狂人那邊看到的 這個真是好耶～ firefox就不用裝新同文堂了 而且其他瀏覽器也都可以用 詳情就去免裝軟體，「新同文堂」網頁繁、簡中文轉換按鈕！（書籤小工具）看吧~ =update= 剛剛看了一下內容 bookmarlet是引入一個js檔 而這個js檔是搜尋頁面所有的元素 然後將找到的簡體中文都換成繁體的 可以找得到並轉換的字大概是2500多個中文字 會無腦的硬轉 而且沒有像Fx的新同文堂addon一樣有詞彙辨識 (例如：皇后->皇後) 所以如果比較介意或是謹慎的人就還是用addon囉 我是沒差 哈哈哈 用這個就好！]]></description>
			<content:encoded><![CDATA[<p>在<a href="http://briian.com" target="_blank">重灌狂人</a>那邊看到的<br />
<span id="more-256"></span><br />
這個真是好耶～<br />
firefox就不用裝新同文堂了<br />
而且其他瀏覽器也都可以用<br />
詳情就去<a target="_blank" href="http://briian.com/?p=6312">免裝軟體，「新同文堂」網頁繁、簡中文轉換按鈕！（書籤小工具）</a>看吧~</p>
<p>=update=<br />
剛剛看了一下內容<br />
bookmarlet是引入一個js檔<br />
而這個js檔是搜尋頁面所有的元素<br />
然後將找到的簡體中文都換成繁體的<br />
可以找得到並轉換的字大概是2500多個中文字<br />
會<del datetime="2009-06-06T01:48:49+00:00">無腦的</del>硬轉<br />
而且沒有像Fx的新同文堂addon一樣有詞彙辨識<br />
(例如：皇后->皇後)<br />
所以如果比較介意或是謹慎的人就還是用addon囉<br />
我是沒差 哈哈哈 用這個就好！</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hsin.tw/2009/bookmarklet-chinese-translate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

