整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML怎么防止用户复制?

先,禁用 JavaScript 可以通过设置 window.disableJavascript 属性为 true 来实现。你可以在浏览器的开发者工具中执行以下代码来禁用 JavaScript:

window.disableJavascript = true;

然而,这种方法会彻底禁用网页中的所有 JavaScript,包括复制、粘贴和其他交互功能,这显然不是一个好的用户体验。

然而,这种方法会彻底禁用网页中的所有 JavaScript,包括复制、粘贴和其他交互功能,这显然不是一个好的用户体验。

相比之下,如果只想禁用页面中某些 JavaScript 功能,可以使用以下两种方法:

1. 禁用特定的 JavaScript 代码块

可以在页面中标记出需要禁用的 JavaScript 代码块,并在用户点击禁用按钮时动态地添加一个带有 disabled 属性的 script 标签来禁用这些代码块。以下是一个示例:

<script>
function disableJavaScriptBlocks() {
const blocksToDisable = document.querySelectorAll('.js-disabled');
for (const block of blocksToDisable) {
const script = document.createElement('script');
script.setAttribute('disabled', 'true');
script.textContent = block.textContent;
block.parentNode.replaceChild(script, block);
}
}
</script>
<button onclick="disableJavaScriptBlocks()">禁用 JavaScript</button>
<div class="js-disabled">
这是需要禁用的 JavaScript 代码块。
</div>

这个示例中,我们定义了一个 disableJavaScriptBlocks 函数来禁用页面中带有 js-disabled 类的 JavaScript 代码块。当用户点击禁用按钮时,这个函数会遍历页面中所有带有 js-disabled 类的元素,并为每个元素动态地创建一个带有 disabled 属性的 script 标签来禁用这些代码块。

2. 替换特定的 JavaScript 函数

如果只想禁用某个 JavaScript 函数,可以动态地替换这个函数。以下是一个示例:

<script>
function disableCopy() {
const originalCopy = document.execCommand;
document.execCommand = function(command) {
if (command === 'copy') {
console.log('禁止复制!');
return false;
}
return originalCopy.apply(this, arguments);
};
}
</script>
<button onclick="disableCopy()">禁用复制</button>

这个示例中,我们定义了一个 disableCopy 函数来禁用页面中的复制功能。当用户点击禁用按钮时,这个函数会动态地替换 document.execCommand 函数,如果用户尝试执行 copy 命令,它会输出一条提示信息并返回 false,从而阻止复制操作。

览网页时,当从A页面点击跳转到B页面后,一般情况下,可以点击浏览器上的“后退”按钮返回A页面。

如果进入B页面后,B页面想让访问者留下,禁止返回,是否可以实现呢?

这简直是要控制浏览器的行为,虽然有些邪恶,但确实可以实现,使用特殊的JavaScript代码就可实现。

方法如下:

实现原理:

监听浏览器的popstate事件,该事件会在用户点击浏览器的回退按钮时被触发。

然后,使用History.pushState()方法向当前浏览器会话的历史堆栈中添加一个陷阱状态,该状态会使“回退”操作无效。

JS源码:

<script>

//浏览器返回键事件

pushHistory();

window.addEventListener("popstate", function(e) {

//判断移动端

var userAgentInfo = navigator.userAgent;

var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");

var equipmentType = false;

for (var v = 0; v < Agents.length; v++) {

if (userAgentInfo.indexOf(Agents[v]) != -1) {

equipmentType = true;

break;

}

}

if (equipmentType) {

$("#mask-back").show();

$("#mask-back .back-close").on("click", function() {

$("#mask-back").hide();

})

}

pushHistory(); //注,此处调用,可以让用户一直停留着这个页面

}, false);

function pushHistory() {

var stateeee = {

title: "title",

url: "#"

};

window.history.pushState(stateeee, "title", "#");

}

</script>

测试方法:

建立两个文件:a.html、b.html。

a文件内容简单写一句代码:

<a href="b.html">goto b.html</a>。

b文件内容写入上面的源码。

打开a页面,点击链接进入b页面,这时再点击浏览器上的“后退”按钮,会发现:操作无效,无法后退。

提升强度:

这个黑暗的技巧,虽然使用了不常见的技术方法,但查看页面源码很容易发现其实现原理。

为了保护代码、防止代码被分析,可以对上面的JavaScript代码加密,加密使用JShaman。

进入JShaman官网,贴入代码:

在配置中,勾选“字符串加密”:

然后生成混淆加密的JavaScript代码:

复制粘贴回b文件:

这时,代码成为加密状态,虽然不影响运行,是万万不可能了。

avascript:禁止按钮,3种方法实现短信验证倒计时

表单中经常会用到手机短信验证或者邮箱验证,点击按钮发送验证码后会倒计时,然后按钮会成灰色不可点击状态,或者点击无效。这可以预防不法分子或者机器刷验证码,下面讲一下使用禁止按钮实现短信验证倒计时,你知道有几种方法呢?

禁止按钮短信验证

首先来了解一下禁止按钮的实现和原理:

<!DOCTYPE html>

<html>

<head>

<title></title>

<meta charset="utf-8">

<script type="text/javascript">

window.onload = function ()

{

var oBtn = document.getElementById('btn');

//禁止按钮

oBtn.disabled = false;

oBtn.onclick = function ()

{

oBtn.disabled = true;

alert(oBtn.value);

}

}

</script>

</head>

<body>

<input type="button" id="btn" value="点我试试">

</body>

</html>

短信验证

禁止按钮应用:短信验证倒计时按钮3种方法

1、第一种方法

<!DOCTYPE html>

<html>

<head>

<title></title>

<meta charset="utf-8">

<script type="text/javascript">

window.onload = function ()

{

var oBtn = document.getElementById('btn');

var timer = null;

var n = 5;

oBtn.onclick = function ()

{

oBtn.disabled = true;

timer = setInterval(function(){

n--;

oBtn.value = n + '秒之后重新发送';

if (n == 0) {

clearInterval(timer);

oBtn.value = '5秒之后重新发送';

oBtn.disabled = false;

n = 5;

}

}, 1000);

}

}

</script>

</head>

<body>

<input type="button" value="5秒之后重新发送" id="btn">

</body>

</html>

短线验证按钮倒计时方法

2、第二中方法

<!DOCTYPE html>

<html>

<head>

<title></title>

<meta charset="utf-8">

<script type="text/javascript">

window.onload = function ()

{

var oBtn = document.getElementById('btn');

var timer = null;

var n = 5;

oBtn.onclick = function ()

{

this.disabled = true;

var _this = this;

// alert(_this);

timer = setInterval(function(){

// alert(_this);

n--;

_this.value = n + '秒之后重新发送';

if (n == 0) {

clearInterval(timer);

_this.value = '5秒之后重新发送';

_this.disabled = false;

n = 5;

}

}, 1000);

}

}

</script>

</head>

<body>

<input type="button" value="5秒之后重新发送" id="btn">

</body>

</html>

短信验证倒计时

3、第三种方法

<!DOCTYPE html>

<html>

<head>

<title></title>

<meta charset="utf-8">

<script type="text/javascript">

window.onload = function ()

{

var oBtn = document.getElementById('btn');

var timer = null;

var n = 5;

var flag = false;

oBtn.onclick = function ()

{

if (flag) {

return;

}

flag = true;

var _this = this;

// alert(_this);

timer = setInterval(function(){

// alert(_this);

n--;

_this.value = n + '秒之后重新发送';

if (n == 0) {

clearInterval(timer);

_this.value = '5秒之后重新发送';

flag = false;

n = 5;

}

}, 1000);

}

}

</script>

</head>

<body>

<input type="button" value="5秒之后重新发送" id="btn">

</body>

</html>

请关注键盘码农,把你想知道的问题在下面留言评论,更新你想要的答案,专为你解答!