Google Visualization đang thực sự sử dụng eval()
nội
Currently Google Visualization API is using:
1. eval on corechart.I.js (3 times)
2. eval on jsapi
Taken từ here, một báo cáo lỗi về GV và Chrome App Manifest v2 tương thích, khoảng 1 tháng tuổi. Google Visualization không tuân thủ các quy tắc của Manifest V2:
Is your code or library using eval(), new Function(), innerHTML, setTimeout(), or otherwise passing strings of JS code that are dynamically evaluated?
- Use JSON.parse() if you’re parsing JSON code into an object.
- Use a CSP-friendly library, for example, AngularJS.
- Create a sandbox entry in your manifest and run the affected code in the sandbox, using postMessage() to communicate with the sandboxed page.
Vì vậy, bản thân google nhận thức được khá nhiều vấn đề.
Hiển thị của tôi là GV nội bộ đang sử dụng eval(jsonString)
thay vì JSON.parse()
do khả năng tương thích của trình duyệt. JSON.parse()
không có sẵn trước IE8, trước FF 3.1 và như vậy (xem compatibility list), đó là lý do tại sao bạn nhận được lỗi JSON không hợp lệ khi bạn chặn eval()
.
Vì điều này cũng ảnh hưởng đến cách GV tuân thủ các quy tắc kê khai, tôi đoán vấn đề sẽ biến mất rất, rất sớm.
"Vì điều này cũng ảnh hưởng đến cách GV tuân thủ các quy tắc kê khai, tôi đoán vấn đề sẽ biến mất rất, rất sớm". 18 tháng sau, điều này vẫn không được khắc phục. – Flavien
@Flavien ,, đừng đổ lỗi cho tôi, đổ lỗi cho Google – davidkonrad
Đừng lo lắng, tôi không đổ lỗi cho bạn :) – Flavien