Poniższe kody pochodzą z webowego panelu kontroli nad systemem NVR (aka "nagrywacz" obrazu z kamer IP).
Chińska jakość kodu :)
eval bez evala (pewnie szef zabrania):
(warto też zaznaczyć, że takie parsowanie JSONa nie jest uznawane za bezpieczne (chyba, że jesteśmy 100% pewni źródła stringa, który dekodujemy) - i co ciekawe - Chińczyk do projektu ostatecznie dorzucił jakiś open sourcowy parser JSONa (tak, wszyscy wiemy, że teraz obsługa JSON jest wbudowana, ale panel ma obsługiwać też stare przeglądarki)), ale chyba z niego nie korzysta, albo korzysta tylko w niektórych miejscach w kodzie
ParseJSON:function(str){
return (new Function("","return "+str))();
},
Obsługa błędów oczywiście TODO - choć akurat to popularne i u nas, żeby nie robić obsługi błędów, przecież na pewno zadziała:
error: function(XMLHttpRequest, textStatus, errorThrown){
//TODO: 处理status, http status code,超时 408
// 注意:如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能
//是"timeout", "error", "notmodified" 和 "parsererror"。
},
Choć widać, też, że Chińczyk odbył wewnętrzną walkę, żeby może jednak ten handler błędu zrobić:
Chiński font, na wypadek gdyby Ariala nie było:
font-family: Song, Arial, "宋体";
Chińczyk gubi się w ifach:
Dwa zestawy funkcji do obsługi ciastek, bo jeden chyba sprawiał problemy: