2011年10月26日

[Mac] bbedit 真好用

BBedit 就他像的 slogan

It doesn’t suck.®

但他不止不糟,而且還非常的優秀。
最棒的是還提供了 command line 的指令
bbedit、bbfind、bbdiff

bbedit 的用法,網路上有一堆文章在介紹,也就不多提了,
來看一下 bbfind ,
在換到 Mac Book Air 上工作後,
另一個(前一個)困擾我的問題是,
在 Windows 上有個非常好用的 grepWin ,
可以讓我在追程式問題的時候,快速的找到相關關鍵字的程式,
但 Mac 下一直找不到好用的替代品,
其實我要的功能不多,只要可以整合 finder,
簡單的輸入關鍵字,就會在指定的目錄下搜尋所有文字檔,
且不同編碼的文字檔也要可以搜尋。
像這樣:



2011年10月4日

[Javascript] console object 如何 cross-browser

前面有提到 console 物件 的內容及使用,
緊接著會遇到的問題就是,不是所有的瀏覽器都有這玩意,
以下是利用 ExtJS  applyIf 的方式,解決 cross-browser 的問題。

    function applyIf(object, config) {
        var property;
    
        if (object) {
            for (property in config) {
                if (object[property] === undefined) {
                    object[property] = config[property];
                }
            }
        }
    
        return object;
    }
    function PageLoad() {
        
        window.console = window.console || {};
        
        applyIf(window.console, {
            log: function(message) { alert(message); } ,
            info: function(message) { alert(message); } ,
            error: function(message) { throw message; }
        });
        
        console.log("log");
        console.info("info");
        console.error("error");
    }


2011年10月3日

[Javascript] console 物件

隨著瀏覽器越來越強,Javascript的程式也越來越龐大,
為了方便除錯,瀏覽器也內建了一些開發工具,
而這些開發工具或多或少都有提供一些內建的 Javascript 物件供使用,
其中 console 是我還蠻喜歡用的一個物件,

各家瀏覽器的 console 物件都不盡相同, 寫個小小的程式來紀錄一下差異

<html>
<header>
<script type="text/javascript">
 function PageLoad() {
  var keys = "";
  for(var key in console) {
   keys += key + "<br />";
  }
  var divResult = document.getElementById("divResult");
  divResult.innerHTML = keys;
  console.log("log");
  console.info("info");
  console.error("error");
} </script> </header> <body onload="PageLoad();"> <div id="divResult"> </div> </body> </html>

常用的不外乎就 log 、 info 、 error,其他的到是沒什麼研究了,底下是執行的結果。

《 執行結果 》
IE 9:

log
info
warn
error
assert
dir
clear
profile
profileEnd




Firefox 7:(不含firebug)
log
info
warn
error
debug
trace
__noSuchMethod__


Chrome 14:
profiles
memory
debug
error
info
log
warn
dir
dirxml
trace
assert
count
markTimeline
profile
profileEnd
time
timeEnd
timeStamp
group
groupCollapsed
groupEnd


延伸閱讀:console object cross-browser