文章出處

今天群里有人發問,

進入百度翻譯http://fanyi.baidu.com/#auto/zh/,

輸入word-wrap,發現頁面錯亂。

尋找錯亂原因。

上圖

 

開始查找原因:

1.從請求入手

從chrome的network面板里,能很容易找到翻譯請求v2transapi。

js語句發起請求,在chrome里能看到發起這個請求的,方法調用堆棧。

2.從方法名入手

如果方法名看不出名堂,直接從最后個方法入手。這里是b6方法,點擊進入。

通過chrome自帶格式化工具格式化,然后開始設斷點,單步調試,觀察頁面變化,慢慢縮小調試范圍

在這里你會發現,cg[0]是word-wrap這個字符串的ajax的請求對象,cg[1]是服務器返回的結果,

cc[3]是function(S) {
D.MessageCenter.fire("TRANSLATECHECKRESPONSE", {
res: S,
to: Q
})
}

這下好辦了,直接ctrl+shift+f調起chrome全局搜索,輸入TRANSLATECHECKRESPONSE,找到代碼設斷點,再調試。你會看到里面又有個RESPONSEISBAIKEMEAN,就是它了。

 最后你看到什么,word-wrap的百科示例代碼,直接被append進去了。是的,沒有進行轉義。

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()