JavaScript是一种广泛使用的编程语言,它在Web开发中扮演着重要的角色。在编写JavaScript代码时,我们经常使用一些常用的方法来完成任务。这些方法可以帮助我们更高效地编写代码,提高代码的可读性和可维护性。
掌握一些实用的JS方法,如同掌握烹饪中的调味秘诀。今天给大家分享一些关于JS代码的必备技巧,助你编码更高效,让程序像美食一样引人入胜。
索引
1.让页面滚动到顶部和底部
2.网站版权年份自动更新
3.屏蔽鼠标右键或指定按键
4.限制只能输入数字和几位数
5.禁用调试模式
1.让页面滚动到顶部和底部
a.顶部
将Class命名为go-top
jQuery('.go-top').on('click', function (e) {
e.preventDefault();
jQuery('html, body').animate({ scrollTop: 0 }, duration);
return false;
})
b.底部
将Class命名为go-bottom
jQuery('.go-bottom').on('click', function (e) {
var t = document.body.clientHeight;
window.scroll({ top: t, left: 0, behavior: 'smooth' });
})
c.实现滚动效果
jQuery('.go-bottom').on('click', function (e) {
(function smoothscroll() {
const currentScroll = document.documentElement.scrollTop || document.body.scrollTop; // 已经被卷掉的高度
const clientHeight = document.documentElement.clientHeight; // 浏览器高度
const scrollHeight = document.documentElement.scrollHeight; // 总高度
if (scrollHeight - 10 > currentScroll + clientHeight) {
window.requestAnimationFrame(smoothscroll);
window.scrollTo(0, currentScroll + (scrollHeight - currentScroll - clientHeight) / 2);
}
})();
})
该效果在本站任意页面中点击屏幕下方的"返回顶部"即可看到
2.网站版权年份自动更新
直接在网站的全局JS文件 foot 中或者在需要显示的地方加入以下代码即可:
<script type="text/javascript">
<!-- Begin
copyright=new Date(); //取得当前的日期
update=copyright.getFullYear(); //取得当前的年份
document.write("© Copyright 2024"+ update + " 刘郎阁版权所有");//update为自动更新的年份
// End -->
</script>
3.屏蔽鼠标右键或其他指定按键
方法1:
//屏蔽鼠标右键Ctrl+N、Shift+F10、F11、F5刷新、退格键
function document.oncontextmenu(){ event.returnValue = false; }
//屏蔽鼠标右键
function window.onhelp(){ return false }
//屏蔽F1帮助
function document.onkeydown(){
if ((window.event.altKey) && ((window.event.keyCode == 37) ||
//屏蔽Alt+方向键←
(window.event.keyCode == 39))) {
//屏蔽Alt+方向键→
alert("不准你使用ALT+方向键前进或后退网页!"); event.returnValue = false;
} if ((event.keyCode == 8) ||
//屏蔽退格删除键
(event.keyCode == 116) ||
//屏蔽F5刷新键
(event.ctrlKey && event.keyCode == 82)) {
//Ctrl+R
event.keyCode = 0; event.returnValue = false;
} if (event.keyCode == 122) { event.keyCode = 0; event.returnValue = false; }
//屏蔽F11
if (event.ctrlKey && event.keyCode == 78) event.returnValue = false;
//屏蔽Ctrl+n
if (event.shiftKey && event.keyCode == 121) event.returnValue = false;
//屏蔽shift+F10
if (window.event.srcElement.tagName == "A" && window.event.shiftKey) window.event.returnValue = false;
//屏蔽shift加鼠标左键新开一网页
if ((window.event.altKey) && (window.event.keyCode == 115))}
//屏蔽Alt+F4
window.showModelessDialog("about:blank", "", "dialogWidth:1px;dialogheight:1px"); return false; }}
方法2:
//屏蔽右键菜单
document.oncontextmenu = function (event) {
if (window.event) {
event = window.event;
}
try {
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
return false;
}
return true;
} catch (e) {
return false;
}
}
//屏蔽粘贴
document.onpaste = function (event) {
if (window.event) {
event = window.event;
}
try {
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
return false;
}
return true;
} catch (e) {
return false;
}
}
//屏蔽复制
//屏蔽剪切
document.oncut = function (event) {
if (window.event) {
event = window.event;
}
try {
var the = event.srcElement;
if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")) {
return false;
}
return true;
} catch (e) {
return false;
}
}
//禁止f12
function fuckyou() {
window.close(); //关闭当前窗口(防抽)
window.location = "about:blank"; //将当前窗口跳转置空白页
}
//禁止Ctrl+U
var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;"), //禁用右键
window.onkeydown = function (e) {
var keyCode = e.keyCode || e.which || e.charCode;
var ctrlKey = e.ctrlKey || e.metaKey;
console.log(keyCode + "--" + keyCode);
if (ctrlKey && keyCode == 85) {
e.preventDefault();
}
if (arr.indexOf(keyCode) > -1) {
e.preventDefault();
}
}
function ck() {
console.profile();
console.profileEnd();
//我们判断一下profiles里面有没有东西,如果有,肯定有人按F12了,没错!!
if (console.clear) {
console.clear()
};
if (typeof console.profiles == "object") {
return console.profiles.length > 0;
}
}
function hehe() {
if ((window.console && (console.firebug || console.table && /firebug/i.test(console.table()))) || (
typeof opera ==
'object' && typeof opera.postError == 'function' && console.profile.length > 0)) {
fuckyou();
}
if (typeof console.profiles == "object" && console.profiles.length > 0) {
fuckyou();
}
}
hehe();
window.onresize = function () {
if ((window.outerHeight - window.innerHeight) > 200)
//判断当前窗口内页高度和窗口高度,如果差值大于200,那么呵呵
fuckyou();
}
document.onkeydown = function (event) {
if ((event.keyCode == 112) || //屏蔽 F1
(event.keyCode == 113) || //屏蔽 F2
(event.keyCode == 114) || //屏蔽 F3
(event.keyCode == 115) || //屏蔽 F4
// (event.keyCode == 116) || //屏蔽 F5
(event.keyCode == 117) || //屏蔽 F6
(event.keyCode == 118) || //屏蔽 F7
(event.keyCode == 119) || //屏蔽 F8
(event.keyCode == 120) || //屏蔽 F9
(event.keyCode == 121) || //屏蔽 F10
(event.keyCode == 122) || //屏蔽 F11
(event.keyCode == 123)) //屏蔽 F12
{
return false;
}
}
window.onhelp = function () {
return false;
}
以上两种方法,根据自己的需求进行删减即可。
注意:以上两种方法防小白不防大牛,在网址前加上以下代码:
view-source:
view-source:https://m.baidu.com/
或者保存网页下来也是可以看到网页代码的。
4.限制只能输入数字和几位数
const length = 2
const reg = new RegExp(`^\\d+(\\.\\d{1,${length}})?$`)
5.禁用调试模式
禁止访客使用右键、 F1键 到 F12键 (除了F5键)
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
}, false);
document.addEventListener('keydown', function(e) {
if (e.ctrlKey && e.keyCode === 85) {
e.preventDefault();
}
if (e.keyCode >= 112 && e.keyCode <= 123 && e.keyCode !== 116) {
e.preventDefault();
}
});
完!
哈哈这个屏蔽代码有点意思,可惜我用不到
妥妥的技术分享站
在分享的同时也在学习,两全其美,何乐而不为
虽然看不太懂 但我还是来看看并留下我的足迹
早上好,欢迎常来
高产啊
常规操作😂