点击这里查看截图
我正在使用chrome extenton进行屏幕录制,当我触发navigator.mediaDevices.getDisplayMedia
时,屏幕截图中的警报打开,但当前选项卡丢失。我的manifest.json文件代码在这里
{
"name": "web-vcr",
"version": "1.0",
"description": "Save Videos",
"manifest_version": 3,
"permissions": ["storage", "tabs", "desktopCapture", "downloads", "scripting", "activeTab"],
"background": {
"service_worker": "js/background.js"
},
"host_permissions": ["<all_urls>"],
"content_scripts": [
{
"matches": ["*://*/*"],
"css": ["css/styles.css", "css/injected-script.css"],
"js": [
"js/video-tools.js",
"js/content-script.js",
"js/inject-script.js"
]
}
],
"action" : {
"default_icon": "img/icon-32.png",
"default_popup": "html/popup.html"
},
"icons": {
"256": "img/icon.png",
"32": "img/icon-32.png"
}
}
是否有其他方法可以获取所有选项卡(包括当前选项卡)以进行记录或我错过了一些内容?
1条答案
按热度按时间enxuqcxy1#
当我们在content-script中使用
navigator.mediaDevices.getDisplayMedia
时会发生这种情况,但是当我们在service worker中使用它时,它会显示所有选项卡,因为navigator.mediaDevices.getDisplayMedia
不能直接在chrome manifest_version 3中的service worker中使用,所以我们需要在offscreen中使用它。