获取屏幕截图的扩展的最简单版本如下:
manifest.json
{
"manifest_version": 2,
"name": "Screenshot",
"version": "20200507.1",
"permissions":[
"activeTab"
],
"browser_action": {
"default_popup": "popup.html"
}
}popup.html
<!DOCTYPE html>
<html>
<body>
<button id="capture">Capture</button>
<script src="popup.js"></script>
</body>
</html>popup.js
document.getElementById("capture").addEventListener('click', event => {
chrome.tabs.captureVisibleTab(dataURI => {
chrome.tabs.create({url: dataURI});
});
window.close();
});作为一个未打包的扩展加载到Vivaldi浏览器中,它可以正常工作。打开带有活动选项卡的屏幕截图的选项卡。然而,加载到Chrome中的同一个扩展绝对没有任何作用,但没有抛出任何错误。这里少了什么?我能找到的这段代码和它们的样本代码之间唯一的区别是,这是一个弹出而不是背景脚本。
发布于 2022-08-28 21:32:32
captureVisibleTab()返回一个承诺。因此,window.close()可能会在承诺以指出形式返回wOxxOm之前关闭窗口。包括作为清单版本2的清单版本3的修订代码将在2023年逐步淘汰。
manifest.json
{
"manifest_version": 3,
"name": "Screenshot",
"version": "20220828.1",
"permissions":[
"activeTab"
],
"action": {
"default_popup": "popup.html"
}
}popup.html
<!DOCTYPE html>
<html>
<body>
<button id="capture">Capture</button>
<script src="popup.js"></script>
</body>
</html>popup.js
document.getElementById("capture").addEventListener('click', event =>
chrome.tabs.captureVisibleTab().then(dataURI =>
chrome.tabs.create({url: dataURI}).then(() =>
window.close()
)
)
);https://stackoverflow.com/questions/61684153
复制相似问题