Javascript 如何用src=“name2”替换src=“name1”?

Javascript 如何用src=“name2”替换src=“name1”?,javascript,html,Javascript,Html,大家好 我有一个想法,但我不知道如何实施 如何确保在按下ctrl+shift+i的同时按f12键更改了html代码的某些部分 例如:SRC=error.MP4上的SRC=video.MP4 谢谢 更新-9.24.18 您需要这样做,以便用户很难从scr=video.mp4复制链接 -爱森有一种方法可以做到这一点: <video id="someVideo" src="somfile.mp4" /> <script> functio

大家好

我有一个想法,但我不知道如何实施

如何确保在按下ctrl+shift+i的同时按f12键更改了html代码的某些部分

例如:SRC=error.MP4上的SRC=video.MP4

谢谢

更新-9.24.18

您需要这样做,以便用户很难从scr=video.mp4复制链接


-爱森

有一种方法可以做到这一点:

<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

这将隐藏源代码。但是,如果用户禁用了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文件。

document.getElementById'srcId'.src=video.mp4,因为srcId是元素的id,如果这是某种反黑客措施,它将不起作用。用户可以右键单击并点击Inspect或打开开发工具,然后转到该页面。您不能阻止用户下载mp4文件。即使浏览器“inspect元素”不存在。@艾森您的上一条评论毫无意义。这不会绕过任何东西或禁用JS。它也不是什么保护措施。这不会使它失效。他们只需查看源代码即可访问:http://example.com/ 在Chrome浏览器的地址栏中,或者他们可以打开开发者工具并刷新以获得新的页面加载。任何能够/将要使用开发者工具的人都可以绕过您的保护,不会出现任何问题。我需要,当您单击f12,ctrl+shift+I时,鼠标右键被替换为链接src=video中的video必须保持可用我很抱歉,没有立即正确表达想法您需要这样做,以便用户很难从scr复制链接=这是point@Aison所以你不想在用户点击f12时显示源,但你仍然希望视频正常工作?是的。通过处理Ctrl+s、Ctrl+shift+i、f12按钮事件使获取链接复杂化。按下on按钮后,脚本将用任意字符替换src=中的视频链接other@Aison添加了一个使用元素的示例