Я пытаюсь создать расширение для дел для Firefox, и мне нужно вызвать функцию при нажатии кнопки удаления (строка 8).
function viewPrevious(){
var prom = browser.storage.sync.get(null);
prom.then((res) => {
var text = '<ul class="list-group list-group-flush">';
var i;
for (i = 0; i < res.todos.length; i+=4) {
text+='<ul class="list-group list-group-flush"><li class="list-group-item">'+res.todos[i]+' '+res.todos[i+1]+' '+res.todos[i+2]+'</li>';
text+='<button type="button" class="btn btn-primary" onClick="myFunc" id='+i+'">Delete</button>';
}
text+='</ul>';
document.getElementById("oldTodos").innerHTML = text;
window.onload=function(){
console.log("KKOO");
var promii = browser.storage.sync.get(null);
promii.then((res) => {
for(i=0;i<res.todos.length;i+=4){
console.log("redda");
document.getElementById(i.toString()).addEventListener('click',function(){
console.log('kjk'+i);
var removingItem = browser.storage.sync.remove(i);
removingItem.then(function(){
viewPrevious();
});
});
}
});
}
});
}
Я добавил onClick = "myFunc "в строке 8 и функция,
function myFunc(){
console.log("ABC");
}
, когда я запускаю это и нажимаю кнопку, это дает мне следующую ошибку
Content Security Policy: The page’s settings blocked the loading of a resource at self (“script-src”). Source: onclick attribute on BUTTON element.
Я пытался использовать мета-теги и давать script-src 'unsafe-inline'
, но это тоже не сработало.И у меня нет хорошей идеи об этом content security policy
Есть ли другой способ сделать эту работу, или я делаю что-то не так?