Делаю приложение для Chrom.
Для хранения некоторых данных был выбран WebSQL.
Сама база создается.
function baza (f) {
bd = openDatabase("linkDemo","1.0","Количество вкладок",1024*1024*5);
switch (f) {
case "open":
bd.transaction(function(tx){
tx.executeSql("CREATE TABLE IF NOT EXISTS todo (ID INTEGER PRIMARY KEY ASC,todo_item TEXT,due_date VARCHAR)");
})
break
case "save":
bd.transaction(function(tx){
tx.executeSql("INSERT INTO todo (todo_item,due_date) VALUES (?,?)", ["Яндкс","ya.ru"])
})
break
case "load":
// Загрузка из БД
default:
alert ('Не задано действие')
break
}
}
onload = function () {
// Некоторые действия при загрузки
baza ("open")
}
А вот данные как-то неохотно вставляются
function savenewlink (){
// Сбор данных из формы
baza ("save") // и будут вноситься в функция
//А вот здесь самое интересное
// alert ('Закончили')
}
Если стоит alert() - то данные вносятся в таблицу WebSQL, а если он закомментирован (отсутствует) - то данные не вносятся.
Сама функция вызывается при помощи addEventListener()
document.addEventListener( "DOMContentLoaded" , function () {
// Несколько других событий
document.getElementById("savelink").addEventListener( "click" , savenewlink);
});
Это связано с
безопасностью Chrome, которую я не знаю как обойти. При использование onclick появляется ошибка:
Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension-resource:".
Как внести эти данные без alert()?
Как alert() влияет на работу скрипта?
Можно ли как-то обойти ограничения политики безопасности?