У меня проблема с моим веб-приложением Chrome, которое я работаю в данный момент. Кодовые работы найти на обычном браузере Chrome, но Chrome Web Store не нравится мой код:Работайте вокруг eval() в моем расширении chrome
Отказался оценить сценарий, поскольку он нарушает следующие директивы Content Security Policy: «скрипт-Src„я“хромирование расширение-ресурс:».
Вот один из разделов в моем коде, который содержит Eval():
function checkTimeToSinglePeriod(p) {
console.log("Check time for Period " + p + "...");
var TempBHour = "period" + p + ".bhour";
TempBHour = eval(TempBHour);
var TempBMin = "period" + p + ".bmin";
TempBMin = eval(TempBMin);
var TempEHour = "period" + p + ".ehour";
TempEHour = eval(TempEHour);
var TempEMin = "period" + p + ".emin";
TempEMin = eval(TempEMin);
}
Эта функция вызывается из цикл, который проходит через «р», так что циклы через мои объекты : period1.bhour, period2.bhour и т. д. Переменные Temp (TempEmin, TempEHour и т. д.) производят значение period1.ehour, которое может быть чем-то вроде 14, вместо строки типа period1.ehour Я также иметь раздел в моем коде, который использует eval() для переключения строк, созданных для имени массива:
for (d = 1; d < 8; d++) { //Loop through days
for (l = 1; l < 8; l++) { //loop through lessons
itemToSave = "D" + d + "L" + l;
arrayToSave = "periodsArray" + d + "[" + (l - 1) + "]";
localStorage.setItem(itemToSave, eval(arrayToSave));
console.log(itemToSave + " | Saved");
}
}
В данном случае itemToSave является ключевым LocalStorage и arrayToSave является массив в моем коде: periodsArray1 [], periodsArray2 [] и т.д. Так может кто-нибудь помочь мне работать вокруг не используя Eval()? Thank You