所有人!
我有个主意,但我不知道如何实现。
如何确保在按ctrl + shift +的同时也按f12键更改了html代码的特定部分?
例如:SRC =“ error.MP4上的SRC =” video.MP4“
谢谢!
更新-9.24.18
您需要进行设置,以使用户难以从scr =“ video.mp4”
复制链接- Aison
答案 0 :(得分:-1)
这是您可以执行此操作的一种方法:
<video id="someVideo" src="somfile.mp4" />
<script>
function KeyPress(e)
{
var evtobj = window.event ? event : e;
// 73 = i
if (evtobj.keyCode == 73 && evtobj.ctrlKey && evtobj.shiftKey)
{
document.getElementById('someVideo').src = "error.mp4";
}
}
// On keypress, activate our function
document.onkeydown = KeyPress;
</script>
但是,正如我在评论中提到的那样,这绝不会阻止用户下载mp4文件。
用户仍然可以:
右键单击,检查元素
打f12
在访问您的网站之前打开“检查元素”
保存您的网页
仅保存您网页中的视频
禁用JS /覆盖您的JS。
无需使用网络浏览器即可访问您的网页(获取/保存您的网页)
还有其他方法,这简直就是我的脑袋。
编辑以下评论:
您可以改用html5 <canvas>
。
这将隐藏源。但是,如果用户禁用了JS,它将导致视频不再工作。
示例(您必须添加自己的播放按钮,或更改脚本以自动开始视频):
<!-- You can hide this element anywhere in your hmtl. It will not be visbile (via CSS) -->
<!-- note: I used `muted="muted"` because otherwise you will get an error when starting the video without a user action -->
<video id="someVideo" muted="muted" controls>
<source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4" type="video/mp4">
</video>
<!-- canvas will display the video -->
<canvas id="myCanvas"></canvas>
<script>
document.addEventListener('DOMContentLoaded', function()
{
var hiddenVideo = document.getElementById('someVideo');
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
var cw = Math.floor(canvas.clientWidth);
var ch = Math.floor(canvas.clientHeight);
canvas.width = cw;
canvas.height = ch;
hiddenVideo.addEventListener('play', function(){
draw(this,context,cw,ch);
},false);
hiddenVideo.onloadstart = function(){
this.play();
};
},false);
function draw(v,c,w,h)
{
if(v.paused || v.ended)
return false;
c.drawImage(v,0,0,w,h);
setTimeout(draw,20,v,c,w,h);
}
</script>
<style>
#someVideo
{
display: none;
width: 200px;
height: 200px;
}
#myCanvas
{
width: 200px;
height: 200px;
}
</style>
由于您要向用户提供mp4文件,因此不能阻止用户拥有mp4文件。