Как получить все настройки содержимого Chrome? - PullRequest
0 голосов
/ 28 октября 2018

Google Chrome не синхронизирует все настройки контента, в частности Правила использования файлов cookie .Между тем настройки JavaScript синхронизируются нормально.

Я пытаюсь запросить список всех доменов, блокирующих файлы cookie, чтобы я мог синхронизировать их, используя свое собственное хранилище через расширение.Шаблоны подстановочных знаков работают, только если указан домен верхнего уровня.

chrome.contentSettings.cookies.get({
    primaryUrl: 'https://example.com' //---Not working '<all_urls>' or 'https://*/*"'
}, function (details) {
    console.log(details)
});

Могу ли я запросить chrome: // settings / content / cookies как веб-страницу непосредственно из расширения?Любые другие идеи?

Документация для Настройки содержимого Chrome , кажется, поддерживает '<all_urls>', но работает только на «set», а не «get».

1 Ответ

0 голосов
/ 03 марта 2019

Вам нужно указать primaryUrl со значением, например http://* или https://* или http://somesite.com/ и т. Д., И тогда вы получите details.setting

Также обратите внимание на задержку, которую я использую, прежде чем получить доступ к информации в конце функции ниже.

 function GetContentSettings(){

 var S='';

 chrome.contentSettings.cookies.get({primaryUrl:'http://*'},function(details){S+='Cookies : '+details.setting+'<br>';});
 chrome.contentSettings.images.get({primaryUrl:'http://*'},function(details){S+='Images : '+details.setting+'<br>';});
 chrome.contentSettings.javascript.get({primaryUrl:'http://*'},function(details){S+='JavaScript : '+details.setting+'<br>';});
 chrome.contentSettings.location.get({primaryUrl:'http://*'},function(details){S+='Location : '+details.setting+'<br>';});
 chrome.contentSettings.plugins.get({primaryUrl:'http://*'},function(details){S+='Plugins : '+details.setting+'<br>';});
 chrome.contentSettings.popups.get({primaryUrl:'http://*'},function(details){S+='Popups : '+details.setting+'<br>';});
 chrome.contentSettings.notifications.get({primaryUrl:'http://*'},function(details){S+='Notifications : '+details.setting+'<br>';});
 // chrome.contentSettings.fullscreen.get({primaryUrl:'http://*'},function(details){S+='Full Screen : '+details.setting+'<br>';});
 // chrome.contentSettings.mouselock.get({primaryUrl:'http://*'},function(details){S+='Mouse Lock : '+details.setting+'<br>';});
 chrome.contentSettings.microphone.get({primaryUrl:'http://*'},function(details){S+='Microphone : '+details.setting+'<br>';});
 chrome.contentSettings.camera.get({primaryUrl:'http://*'},function(details){S+='Camera : '+details.setting+'<br>';});
 chrome.contentSettings.unsandboxedPlugins.get({primaryUrl:'http://*'},function(details){S+='Unsandboxed Plugins : '+details.setting+'<br>';});
 chrome.contentSettings.automaticDownloads.get({primaryUrl:'http://*'},function(details){S+='Automatic Downloads : '+details.setting+'<br>';});

 setTimeout(function(){alert('Content Settings...<br><br>'+S);},1500);
 }

NB. Я прокомментировал два проблемных.

...