Facebook Messenger 在 Ubuntu Linux 中文輸入(iBus)都被清空問題,要怎麼解決?
先講解法:
- 在文字輸入前,先輸入個空白,或輸入個「.」,然後在輸入文字,就會正常。
- 註:前面輸入一個空白,在最後文字輸入後,Facebook messenger 也會將前面那個空白自動去掉,所以不用擔心。
Facebook Messenger 於 Ubuntu Linux 中文輸入會被清空問題
至於為何 前面輸入一個空白,Facebook messenger 就可以正常將中文輸入進去的原因:
仔細查看一下,原因是 Facebook 的訊息視窗裡面,在空白和有資料的情況,會有 「<br>」 和 「<span data-lexical-text="true">空白</span>」 的自動切換(甚至應該說是取代)。
Facebook Messenger 的變動
- 平常沒有輸入文字的時候,Messenger 的視窗內容是「<br>」
- 若有輸入文字的時候,Messenger 的視窗內容是「<span data-lexical-text="true">文字</span>」
那在 Ubuntu Linux iBus 遇到的情況可能如下:
iBus 輸入文字會先在 Preview,然後 ENTER 後,才會進入輸入框,但是 Facebook Messenger 的輸入框沒處理這塊。
- 尚未輸入文字,會是預設輸入框 <br>
- 輸入文字或空白,輸入框會變成 <span data-lexical-text="true">文字</span>
- 在中文輸入的時候,雖然 Facebook Messenger 輸入框會出現文字,但是 ENTER 後,輸入的文字就被清空掉,可能的原因如下:
- iBus 輸入文字,在預覽文字階段,Facebook Messenger 是 <span data-lexical-text="true">文字</span>
- 然後按 ENTER 後,預覽文字要輸入進去(輸入進去應該要讓視窗先清空),但是此輸入框 FB JS Event 觸發到瞬間空白,於是將輸入框轉換成 <br>,於是輸入的中文就被清空掉 (偶爾又可以輸入成功,就是比較慢被丟進輸入框,就可以輸入成功)
- 所以只要在前面先多個「空白」,Facebook Messenger 就會固定在 data-lexical-text="true" 的區塊,不會轉換成 <br>,所以中文就都可以正常輸入
謝謝解決我的問題!
如果換成其他輸入法會比較好嗎?還是一樣有這個問題?
我之前有嘗試過幾套,都還是沒有解決,就懶得繼續測試下去了~~ 🙂
謝謝你 解決了我的問題~~ (我是用新酷音)
太感謝你了,這真的是很煩,又很難找到方法。
感謝解決方案
感謝分享解決方法,我測試在文字輸入前,先輸入「.」然後再打中文就可以正常顯示了~
嗯嗯,只要第一碼是 ascii (a-z,0-9 或直接出來的符號),就可以正常傳送
只是第一碼是空白,預設 facebook 會 trim 掉,其他符號都還是會正常送出
終於可以打中文再 Messenger 了,感謝!
哇, 我遇到這個問題還想說沒人會遇到吧, 沒想到還有解決方案XD 感謝
這個問題大家都遇到了.. :~~
太神啦 實用到不行