Home > Android, Applications, Chrome, Coding, Javascript, Mobile > Bookmarklets on Android

Bookmarklets on Android

Bookmarklet是輕量級JavaScript程式,由於以網址(URL)的形式被存為瀏覽器中的書籤,因此被稱為Bookmarklet。桌面瀏覽器大多支援Bookmarklet,但支援Bookmarklet的手機瀏覽器不算多,蘋果的手機版Safari就是其中之一。以往一直沒在手機上用過,但最近使用Naked Browser,預載了Translate以及Clear Cache兩個Bookmarklet,就重拾起用Bookmarklet的樂趣,隨後發現原來Chrome以及Dolphin都支援Bookmarklet,只是自己一直沒有留意罷了。

利用不同搜尋引擎搜尋 

桌面版Chrome其中之一大特點是Omnibar,可以在網址搜尋列「輸入搜尋引擎+Tab+關鍵字」,就會在該搜尋引擎中搜尋關鍵字,例如「”Youtube”+Tab+”Dogs”」就會在Youtube中搜尋有關狗的影片。而且,在設定(chrome://settings/searchEngines)中可管理搜尋引擎。搜尋引擎無所不包,上至Youtube、Yahoo,下至某個人博客,Chrome都可以自動加入,完成毋須用戶操勞。

不過我用得更多的,其實是功能類似,之前介紹過的Mulit Search,選取頁面上的文字後,只要右按滑鼠再選取搜尋引擎,就可以在該搜尋引擎中搜尋選取的文字,極之方便,不過加入搜尋引擎的方式比較麻煩,要用家自己處理一堆程式碼。

來到手機,沒有了OmniBar以及Multi Search,確實不慣,不過透過Bookmarklet實現接近功能!

更新:實際試用後發現不是每個瀏覽器用每個Bookmarklet都可以。搜尋類Bookmarklets似乎只在Chrome成功,但Dolphin和Naked瀏覽器都不成功;後來嘗試修改原本的Javascript,成功令Youtube/Wikipedia搜尋的Bookmarklet在Naked Browser上運行,後者更加入中文版。至於Pocket,就三個都成功,不過Chrome要巧妙地在Omnibar輸入關鍵字方式點選,否則Chrome只會在新分頁開啟書籤,令Add to Pocket失效。

更新2:後來又發現Bookmarklet搜尋英文可以,但中文會出現亂碼,原來問題出於escape()上,只要改為encodeURIComponent()就可以解決。

Google Search

  • javascript:q=”+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);if(!q)q=prompt(‘Enter your search here’,”);if(q!=null)location=’http://google.com/search?query=’+encodeURIComponent(q).replace(/ /g,’+’)+’&num=10′;void 0

Google In Site Search

Youtube Search

Wikipedia Search

其實其餘網站的搜尋功能,都可輕易製作Bookmarklet,不過個人沒有需要,常用的其實只有Google/Youtube/Wikipedia幾個,需要的時候再製作吧!

其他實用功能

除了用其他搜尋引擎進行搜尋外,Bookmarklet尚有很多意想不到的功能,實用程度媲美桌面瀏覽器的Extensions以及Greasemonkey。

眾多功能中,個人最看重「Add to Pocket」,因為透過「分享」再選擇「Pocket」,不會將記錄網頁標題,而會直接將網址當作標題,以致在閱覽未讀清單時,常常不知某連結的內容是甚麼,大為費解。在桌面版Chrome一直直接使用Bookmarklet,可以在手機版直接用實在太好了。

Add to Pocket

  • javascript:(function(){ISRIL_H=’1164′;PKT_D=’getpocket.com’;ISRIL_SCRIPT=document.createElement(‘SCRIPT’);ISRIL_SCRIPT.type=’text/javascript’;ISRIL_SCRIPT.src=’http://’+PKT_D+’/b/r.js’;document.getElementsByTagName(‘head’)[0].appendChild(ISRIL_SCRIPT)})();

Translate

Increment

  • javascript:(function(){var e,s;IB=1;function isDigit(c){return (“0″<=c&&c<=”9”)}L=location.href;LL=L.length;for(e=LL-1;e>=0;–e)if(isDigit(L.charAt(e))){for(s=e-1;s>=0;–s)if(!isDigit(L.charAt(s)))break;break;}++s;if(e<0)return;oldNum=L.substring(s,e+1);newNum=””+(parseInt(oldNum,10)+IB);while(newNum.length<oldNum.length)newNum=”0″+newNum;location.href=L.substring(0,s)+newNum+L.slice(e+1);})();

Decrement

  • javascript:(function(){var e,s;IB=-1;function isDigit(c){return (“0″<=c&&c<=”9”)}L=location.href;LL=L.length;for(e=LL-1;e>=0;–e)if(isDigit(L.charAt(e))){for(s=e-1;s>=0;–s)if(!isDigit(L.charAt(s)))break;break;}++s;if(e<0)return;oldNum=L.substring(s,e+1);newNum=””+(parseInt(oldNum,10)+IB);while(newNum.length<oldNum.length)newNum=”0″+newNum;location.href=L.substring(0,s)+newNum+L.slice(e+1);})();

View Source

  • javascript:(function(){c=unescape(document.documentElement.innerHTML);c=c.replace(/&/g,’&’);c=c.replace(//g,’>’);c=c.replace(//g,’>’);document.write(‘Source of Page<\/title><\/head><pre>’+c+'<\/pre><\/body><\/html>’);x.document.close();})();</pre>
  • javascript:window.open(”).document.write(‘<html><head><title>page source</title></head><body><pre style=”border:1px solid #099;width:80%;white-space:pre-wrap;word-wrap:break-word”>’+unescape(document.documentElement.innerHTML).replace(/</g,’&lt;’).replace(/>/g,’&gt;’)+'</pre></body></html>’)
    (由http://nakedbrowser.com/android/help.html提供)

Remove Cookies

  • javascript:(function(){C=document.cookie.split(“; “);for(d=”.”+location.host;d;d=(“”+d).substr(1).match(/\..*$/))for(sl=0;sl<2;++sl)for(p=”/”+location.pathname;p;p=p.substring(0,p.lastIndexOf(‘/’)))for(i in C)if(c=C[i]){document.cookie=c+”; domain=”+d.slice(sl)+”; path=”+p.slice(1)+”/”+”; expires=”+new Date((new Date).getTime()-1e11).toGMTString()}})()
    (由http://nakedbrowser.com/android/help.html提供)

棄用Dolphin瀏覽器

之好有好長一段時間,使用Dolphin瀏覽器,因其擁有不少Extensions,其實亦只是加了「Add to Pocket」、「Youtube Search」、「Smart Search」以及「Remember Password」罷了。既然Bookmarklet可以將以上功能全部實現(除了記憶密碼),那麼Dolphin瀏覽器就沒有留下的必要了。

而且,Dolphin瀏覽器會紀錄瀏覽蹤跡,除了私隱問題外,亦會拖慢載入速度,因為要傳送額外資料去其他伺服器。相比之下,Naked Browser實在太爽快了!

參考資料:
http://www.squarefree.com/bookmarklets/
http://www.appinn.com/bookmarklet/
http://subsimple.com/bookmarklets/jsbuilder.htm
http://nakedbrowser.com/android/help.html

  1. No comments yet.
  1. March 9, 2013 at 7:08 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: