2007年6月17日 星期日

Blogger dp.SyntaxHighlighter斷行問題解決方法


syntaxHighLighter是一個蠻不錯的Blog語法工具,可以High Light文章中的程式碼
使用的方法是先下載下來,再將裡面相關的javascript檔案和css上傳到自己的網頁空間
如果沒有網頁空間可以到Google Pages申請一個
然後到 範本->修改HTML 將下列的語法貼到 </body> </html> 前面
也有人是貼文章時才貼在文章中,這樣可以提升載入的速度



要使用時則加上


language可以是c-sharp, css, c, delphi, java, js, php, python, ryby, sql, vb, xml

因為Blogger預設會替文章中的每行文字加上<br />,
所以在Blogger中使用SyntaxHighLighter時,程式碼的每行後面都顯示<br />
解決的方法是將上面貼的最後一段JavaScript改成


這段code主要目的是把TextArea和Pre中的<br />拿掉
對DOM而言,Pre中的<br />算Child Node, TextArea中則不是
所以需要分開處理
如果是TextArea,則直接把<br />都換成\n(21,22行)
如果是Pre,則一個一個把ChildNode取代掉(27,28行)

幾年沒寫Javascript,一段簡單的code寫了好幾天>"<
主要是沒搞懂textarea和pre的差異...
另外有些DOM的語法IE和FireFox的支援程度不同也沒搞懂
這年頭的JavaScript真是愈來愈複雜了....


Counter Stats
free web counters
free web counters Counter

No comments yet