Простейшая версия расширения для создания снимка экрана выглядит следующим образом:
manifest. json
{
"manifest_version": 2,
"name": "Screenshot",
"version": "20200507.1",
"permissions":[
"activeTab"
],
"browser_action": {
"default_popup": "popup.html"
}
}
всплывающее окно. html
<!DOCTYPE html>
<html>
<body>
<button id="capture">Capture</button>
<script src="popup.js"></script>
</body>
</html>
всплывающее окно. js
document.getElementById("capture").addEventListener('click', event => {
chrome.tabs.captureVisibleTab(dataURI => {
chrome.tabs.create({url: dataURI});
});
window.close();
});
Загруженное как распакованное расширение в браузер Vivaldi, оно работает без жалоб. Открывает вкладку со снимком активной вкладки. Однако то же расширение, загруженное в Chrome, абсолютно ничего не делает и при этом не вызывает ошибок. Чего здесь не хватает? Единственное различие, которое я могу найти между этим кодом и их примером кода , заключается в том, что это всплывающее окно, а не фоновый сценарий.