q(´・ω・)p 寫buzz的插件時遇到的bug……

因為以js寫個buzz的chrome插件,才發現到一個js/html上的設計者可能會遇到的bug……

根據Google Api的說法,要post訊息到buzz上就要發送一個內容類似下面的string

{
  "data": {
    "object": {
        "type": "note",
        "content": "post text"
    }
  }
}

我呢……就設定post text為一textarea內的value

但……這裡有個小問題……
就是啊……textarea的value要是用到「"」(根據情況,有時「'」也要算在內)就會有bug
假設value為:

這是一個帶有"符號的訊息

則post data則會變成:

{
  "data": {
    "object": {
        "type": "note",
        "content": "這是一個帶有"符號的訊息"
    }
  }
}


藍底部份為因為紅色「"」符號而造成bug的文字部份……

要修正這個得設定為
textarea.value.replace(/\"/g, "\\\"").replace(/\'/g, "\\\'");

沒有留言:

張貼留言

小提示:留言時,可以使用粗體(<b>)、斜體(<i>)、超連結(<a href="網址"> </a>)。另外,以「名稱/網址」留言時,網址可以留空的。