Я пытаюсь создать простое расширение Chrome, которое удаляет историю конкретной страницы, когда сообщение, полученное из скрипта контента, удовлетворяет требованию.Я создал скрипт содержимого для возврата текста, а также написал фоновый скрипт, который очищает историю с данного момента времени, используя метод chrome.history.deleteRange ().Отладчик показывает chrome.history как неопределенный, хотя я добавил его в список разрешений в манифесте.Может ли кто-нибудь помочь мне решить эту проблему?
Manifest.json (другие обязательные части также присутствуют, это основной регион и, следовательно, предоставляется)
"browser_action": {
"default_icon" : "internet.png" ,
"default_title" : "Mark II test phase ",
"default_popup" : "popup.html"
},
"permissions" : [
"history" ,
"activeTab" ,
"tabs" ,
"http://*/" ,
"https://*/" ],
"content_scripts" : [{
"matches": ["<all_urls>"],
"js": ["content_script.js"]
}] ,
"background" : {
"scripts" : ["background.js"],
"persistent" : true
}
фоновый скрипт:
chrome.runtime.onMessage.addListener ( async function ( message , sender , response ) {
// received message
// check for matches
var regex = /(\w|\s)*\w(?=")|\w+/g;
words = message.match(regex);
words.sort();
common_values = intersection ( words , values );
if ( common_values.length > THRESHOLD ) {
chrome.tabs.query({active: true,currentWindow: true}, function (tabs) {
var tab = tabs[0];
var url = tab.url;
console.log ( "Current url : " , url );
/*
// time == 1 min before starting this query
var start_time = (new Date()).getTime() - 1 * 60 * 1000;
var end_time = ( new Date()).getTime();
var range = new Object();
range.startTime = start_time ;
range.endTime = end_time ;
console.log ( "History type " , typeof (chrome.history) )
chrome.history.deleteRange ( range );
console.log("History cleared");
*/
delete_history();
});
}
});
Отладчик показывает typeof (chrome.history) как неопределенный из фоновой страницы: Вывод отладчика