重新启用禁用菜单"将视频保存为"chrome ext或chrome本身"另存视频"
re-enable disabled menu "save video as" chrome ext or chrome itself "Save Video As"
如何在视频上禁用"另存视频为"选项时重新启用该选项?
这基本上是这个问题的反面。
是否有一个全局命令,我可以发送到chrome命令行重新启用此选项?
或者有一个简单的扩展我可以使用?
我不知道一个确定的方法,但是保存视频信息,删除标签并在其位置创建另一个标签会删除阻止上下文菜单的事件。
function unblockVideos(){
document.querySelectorAll('video').forEach(function(video){
let videoHtml = video.outerHTML;
let container = document.createElement('div');
let newVideo = toElement(videoHtml);
container.append(newVideo);
newVideo.outerHTML = videoHtml;
video.parentElement.insertBefore(newVideo, video);
container.remove();
video.remove();
// to-element.js v1.0.1
function toElement(string) {
let wrapper = document.createElement('div');
wrapper.appendChild(document.createElement('div'));
wrapper.firstChild.outerHTML = string.trim();
return wrapper.firstChild;
};
});
};
unblockVideos();
然而,如果你只需要在chrome中这样做,你可以取消事件与getEventListeners()函数
// getEventListeners()
function unblockVideosChrome(){
document.querySelectorAll('video').forEach(function(video){
let events = getEventListeners(video);
if(events.contextmenu){
events.contextmenu.forEach(function(thisEvent){
video.removeEventListener('contextmenu', thisEvent.listener);
});
};
});
};
unblockVideosChrome();
我认为这是可能的(至少在一个方面)
如果我们使用这个方法来"阻止"视频的菜单上下文
<video oncontextmenu="return false;">
<source src="https://test-videos.co.uk/vids/bigbuckbunny/mp4/h264/360/Big_Buck_Bunny_360_10s_2MB.mp4"/>
</video>
然后,您所需要做的就是选择视频元素(使用dev-tools
)并反转阻塞命令。例如:
document.querySelector('body > video').oncontextmenu="return true"
将重新启用"右键菜单"。+允许你下载视频使用"保存视频为…"选择
正如在公认的答案中所指出的,这是一个不好的实践,因为已经熟悉dev-tools
的有经验的用户可以很容易地绕过它。如果您打算保护您的视频,请考虑使用专门针对该特定任务的云服务。
相关文章:
- 视频HTML没有'无法在Internet Explorer 11上工作
- 播放当前视频时如何停止其他视频?JavaScript
- 使用Facebook live API创建实时视频对象时的隐私设置
- 铬:“;未捕获的语法错误:意外的标记:"
- Brightcove获取/显示HTML中的当前视频标题和描述
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- Twilio-显示所有连接参与者的远程参与者视频
- WebRTC视频聊天可以在FF中使用,但不能在Chrome中使用
- 使用“+="操作人员
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- 得到"不允许加载本地资源“;尝试将MediaSource对象附加为HTML5视频标记的源时出错
- 重新启用禁用菜单"将视频保存为"chrome ext或chrome本身"另存视频"