google翻譯引發的亂碼bug

1,bug現象

最近在開發過程當中,發現,輸入框莫名其妙的會有亂碼的問題。並且這個亂碼問題,偶爾有偶爾沒有。html

亂碼的表現就是數據被不少<font style='vertical-align:inherit'></font>標籤包裹。json

2.bug分析

咱們的數據是從後臺拉取的,而後給用戶編輯。最開始出現亂碼的時候,我一度懷疑是被代碼注入了。後來查看後端接口,發現端口返回的數據是正常的,並且是json格式的,這種狀況下很難出現代碼注入的。後端

接着我又懷疑是插件的問題,咱們使用的jqGrid插件,可是把插件的源代碼都翻了一遍,也沒在代碼裏找到font這個標籤,因此也敢確定不是插件引發的。瀏覽器

後來靈光一閃,一百度才發現,應該是google翻譯引發的。google

3.bug復現

4.解決bug

要解決這個bug就要禁用google翻譯,網上已經有方法了。說是要添加meta標籤。,spa

<meta name="google" content="notranslate" />
複製代碼

親測,mete標籤,也許能禁止瀏覽器自動梵音,可是你要是選擇手動翻譯(右鍵-翻譯成簡體中文)這個方法還無論用,仍是會形成亂碼。這樣子,咱們仍是不能杜絕客戶誤操做這種狀況。插件

google了好久,終於找到一個合適的方法。就是在你不能翻譯的元素上添加一個class,class名爲‘notranslate’。我是直接添加到body上了。親測有效,即便手動翻譯都不會添加亂碼了。翻譯

<body id="innerBody" class="notranslate">code

相關文章
相關標籤/搜索