Google chrome extension 如何设置Youtube视频的音量?

Google chrome extension 如何设置Youtube视频的音量?,google-chrome-extension,Google Chrome Extension,我正在创建一个扩展,当您导航到Youtube频道时,它会使自动播放视频静音。当导航到Youtube频道并选择视频时,它可以执行content.js,但如何设置视频的音量?设置video.volume=0与我想象的不一样 背景脚本: "严格使用",; chrome.tabs.onUpdate.addListenerfunctiontabId,changeInfo,tab{ 如果changeInfo.status==“完成”{ const site=tab.url.split'/'; let dom

我正在创建一个扩展,当您导航到Youtube频道时,它会使自动播放视频静音。当导航到Youtube频道并选择视频时,它可以执行content.js,但如何设置视频的音量?设置video.volume=0与我想象的不一样

背景脚本:

"严格使用",; chrome.tabs.onUpdate.addListenerfunctiontabId,changeInfo,tab{ 如果changeInfo.status==“完成”{ const site=tab.url.split'/'; let domain=site[2]; 让页面=站点[3]; 如果页面=='channel'| |页面=='user'{ chrome.tabs.sendMessagetab.id,{'message':'loaded_channel_page'}; } } }; 内容脚本:

chrome.runtime.onMessage.addListenerfunctionrequest、sender、sendResponse{ if request.message=='loaded_channel_page'| | document.readyState!='loaded'{ 设newVolume=0; document.addEventListener'yt-navigate-finish',=>{ setTimeoutmute,2000年; }; 功能静音{ 让video=document.querySelector'.html5主视频'; video.volume=newVolume; } } }
Youtube不监视DOM video元素属性的直接更改,他们在movie_player元素上使用自己的包装器,该元素公开了音量控制功能,我们无法直接从内容脚本访问该功能,因此我们需要在元素中运行它:

//直拨电话 inPagesetVolume,0; //延迟呼叫 SetTimeOutingPage,2000,setVolume,0; //范围是0-100 函数setVolumevol{ document.getElementById'movie_player'.setVolumevol; } 函数inPagefn,…args{ const script=document.createElement'script'; script.textContent=`${fn}${JSON.stringifyargs.slice1,-1}`; document.documentElement.appendChildscript; script.remove; }