chrome.history и chrome.browsingData не определены, хотя разрешения добавлены - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь создать простое расширение 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) как неопределенный из фоновой страницы: Вывод отладчика

1 Ответ

0 голосов
/ 18 октября 2018

Я наконец решил эту проблему.Проблема заключалась в том, что chrome перезагружал все части манифеста, кроме разрешений, и, следовательно, значение отображалось как неопределенное.Простое удаление расширения и загрузка распакованных расширений снова решило проблему.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...