2006-11-16

Blogger Beta文章底端加上HEMiDEMi書籤(Bookmarklet)使用JavaScript code

  • 中文不會變亂碥 (for IE 6 核心之 Browser)
  • 圈選文字傳送至描述(引用)欄位

Bookmarklet是用JavaScritp所組成的連結,所以可以做出一般連結做不到的事,例如:傳送你所圈選起來的文字至某網頁之欄位,這正是網路書籤最常使用的功能。

在template(樣版)中找到這段code
<p class='post-footer-line post-footer-line-3'/>

在這段code之後加上下列code:
<a expr:href='"javascript:(function(){d=document;w=window;t=\"\"if(d.selection){t=d.selection.createRange().text;}else{if(d.getSelection){t=d.getSelection();}else{if(w.getSelection){t=w.getSelection()}}}void(window.open(\"http://www.hemidemi.com/user_bookmark/new?url=\"+encodeURIComponent(\"" + data:post.url + "\")+\"&amp;title=\"+encodeURIComponent(\"" + data:post.title + "\")+\"&amp;description=\"+encodeURIComponent(t)))})();"'><img alt='Add to HEMiDEMi' src='圖片位址'/></a>

圖片位址,可以到HEMiDEMi小貼紙產生器官方網址自行選擇想要的圖片。

謎之聲:但是這跟其它常見的文末書籤好像只多了圈選文字之傳送? 這....Orz
其實我會想用這個Bookmarlet,是因為我慣用的Browser(GreenBrowser)是使用IE核心的,所以在傳遞編碼會有問題,只要是中文字就會出現在亂碥,幸好encodeURIComponent可以解決這個問題。如果你使用的是FireFox或是最近推出的IE7,就不會有這個問題的產生,如果你還在用IE6核心,這或許對你才比較有幫助。

其它書籤的code,日後再補上,懶呀~~
或是參考Angelo所寫的在每篇文章底端放置各大共享書籤 for blogger Beta,參考裡面傳遞的參數(網址 url 、網頁標題 title 、網頁註解 descrition),再自行修改吧!

後記:我為了研究出這段code,Google過幾乎所有相關的網頁,就是沒有Blogger Beta版的Bookmarlet,都是for Blogger。對於XHTML又不甚了解,光研究出"要用\"表示,就花了我不少時間,還有什麼expr,到現在還是不懂,不過我就一直try,try出來work的那一刻,真是TMD爽!希望這篇對遇到書籤中文標題會變亂碼的人的有幫助!

沒有留言: