2012年8月9日 星期四

Blogger : JavaScript 的地雷

2012年8月9日 星期四
Blogger 的最大好處是有很大的彈性,編輯文章時可以用「HTML」的模式,自己打語法,當然就可以貼 JavaScript 囉!不過,有些地雷還是要閃一下,不然,就會像我除錯除半天,明明在本機存檔的網頁中測試過可以正確執行的 JavaScript,貼到 Blogger 中就是和預期的差很多。
語法上有什麼地雷呢?經過多次的嚐試錯誤,終於有一點小小的心得。
如果 JavaScript 的語法中有需要使用到 HTML Tags ,例如下面的程式碼:
var html = '<div class="css_td">這是表格</div>';
上面使用到了 <div> 及 </div> ,當我們由「HTML」的編輯模式切換到「撰寫」模式,Blogger 檢查到那兩個 HTML Tags 時會把它變成底下這樣:
var html = '<div class="css_td">
這是表格</div>
';
一行變成了三行,因為成對的引號被拆到不同行,會因此而造成 JavaScript 的語法錯誤。

如何解決這樣的問題呢?

沒關係,語法解析一般有固定的規則,把規則打破又組合成我們想要字串,問題即可迎刃而解。字串可以拆開後重組,所以我們用以下的語法替代:
var html = '<' + 'div class="css_td">這是表格<' + '/div>';
上面把原本的一個字串變成三個字串後,以加號「+」重新連接起來。

  1. <
  2. div class="css_td"><
  3. /div>

 <div> 的「小於」變成單獨的第一個字串;第二部份是剩下的一直到 </div> 的小於符號為止;而 「/div>」再變成第三個字串。這樣一來,Blogger 的語法分析就檢查不到 <div> 和 </div> 了。

沒有留言:

張貼留言

 
雄::gsyan © 2009. Design by Pocket