js & disabled mouse right button menus
js & disabled mouse right button menus
网页可以屏蔽 F12
https://www.cnblogs.com/Marydon20170307/p/9122379.html
view-source:https://www.cnblogs.com/Marydon20170307/p/9122379.html
https://blog-static.cnblogs.com/files/Marydon20170307/include.min.js
https://blog-static.cnblogs.com/files/Marydon20170307/conclusion.min.js
clear selection
var object = this;
this.clearSelect = ("getSelection" in window)
? function () {
window.getSelection().removeAllRanges();
}
: function () {
document.selection.empty();
};
debugger
debugger
https://blog-static.cnblogs.com/files/Marydon20170307/ForbiddenDebug.min.js
full version
"use strict";
/**
*
* @author xgqfrms
* @license MIT
* @copyright xgqfrms
* @created 2018.11.30
* @modified 2018.11.30
*
* @description jquery & forbidden right `Ctrl` button
* @augments
* @example
*
*/
const Generator = (datas = [], debug = false) => {
let result = ``;
// do something...
return result;
};
export default ;
export {
,
};
var $get = function (id) {
return document.getElementById(id);
};
var payToMe_5yuan = "https://files.cnblogs.com/files/Marydon20170307/payToMe_5yuan.bmp";
var payToMe_8yuan = "https://files.cnblogs.com/files/Marydon20170307/payToMe_8yuan.bmp";
var payToMe_18yuan = "https://files.cnblogs.com/files/Marydon20170307/payToMe_18yuan.bmp";
var payToMe_28yuan = "https://files.cnblogs.com/files/Marydon20170307/payToMe_28yuan.bmp";
function CreatePageElement() {
var object = this;
this.createForbiddenCopyTipElement = function () {
var forbiddenCopyTipContainer = `
<div id="dotCopyTip" style="position: fixed;">
<div id="dct_children1">
<div id="dct_children1_textTip">
<span style="color:#FFF;">sorry,本博客所有代码禁止复制,原创代码需扫码支付方可获取!<span>
</div>
<a id="dct_children1_closeBtn" onclick="javascript:$(\'#dotCopyTip\').hide(); $(\'#maskCtrl\').hide();" href="javascript:;" title="关闭">关闭</a>
</div>
<div id="dct_children2">
<p>
1、先加好友再付费,
<a href="#article_head" id="dct_children2_click1" onclick="javascript:$(\'#dotCopyTip\').hide();$(\'#maskCtrl\').hide();">点我</a>
加好友
</p>
<p>
2、代码不能满足你的需求?加好友付费定制你的专属代码!
</p>
<p>
3、付费标准及方式,
<a href="javascript:;" id="dct_children2_click2" onclick="javascript:cpe.payButtonClick(\'pay\');">点我</a>
查看详情
</p>
</div>
</div>
`;
return forbiddenCopyTipContainer;
};
this.createPayElement = function () {
var payContainer = `
<div id="knowledgePay" style="position: fixed; left: 32%; bottom: 27%; width: 533px; height: 337px; text-align: center; background: #FAFAFF; z-index: 99999; border: solid 1px #a9a9a9; display: none;">
<div class="title">
<div>请扫描以下二维码支付打赏</div>
<a onclick="$(\'#knowledgePay\').hide();$(\'#maskCtrl\').hide();"onmouseover="this.style.backgroundColor=\'#DF0029\';"onmouseout="this.style.backgroundColor=\'\'" href="javascript:;"title="关闭"></a>
</div>
<div>
<div>
<select id="payType" style="display:none;pointer:cursor;" onchange="cpe.switchPayImg(this.value);">
<option value="0">请选择支付类型</option>
<option value="1">片断源码+技术支持</option>
<option value="2">项目源码+技术支持</option>
<option value="3">私人定制代码服务</option>
</select>
</div>
<img id="payImg" src="" alt="支持原创" />
</div>
</div>
`
return payContainer;
};
this.createDonateElement = function () {
var aTag = `
|<a href="javascript:;" onclick="cpe.payButtonClick(\'bottom\');" style="color:#7fff00;">捐赠</a>
`;
return aTag;
};
this.payButtonClick = function (param) {
if ('pay' == param) {
$('#dotCopyTip').hide();
$('#knowledgePay').show();
$('#payType').show();
$('#maskCtrl').show();
var payType = $get('payType').value;
if (0 == payType) {
$get('payImg').src = '';
}
} else if ('bottom' == param) {
$('#dotCopyTip').hide();
$('#maskCtrl').show();
$('#knowledgePay').css('display', 'block');
$('#payType').hide();
$get('payImg').src = payToMe_5yuan;
}
};
this.switchPayImg = function (num) {
if (1 == num) {
$get('payImg').src = payToMe_8yuan;
} else if (2 == num) {
$get('payImg').src = payToMe_18yuan;
} else if (3 == num) {
$get('payImg').src = payToMe_28yuan;
}
};
this.createPayButtonElement = function () {
var aTag = document.createElement('a');
var cssText = "color:#FFF;padding:4px 10px 4px 8px;border-color:#f57e42;text-decoration:none;background-color:#f57e42;border-radius:9px;display:inline-block;text-align:center;vertical-align:middle;font-size:12px;line-height:1.5;"; aTag.style.cssText = cssText;
aTag.onmouseover = "this.style.textDecoration='none';this.style.color='#666';";
aTag.onmouseout = "this.style.color='#FFF';";
aTag.href = "javascript:cpe.payButtonClick('bottom');";
aTag.innerHTML = " ¥ 我要打赏 ";
return aTag;
};
this.createHelpLikeTextElement = function () {
var spanTag = document.createElement('span');
spanTag.innerHTML = "对你有帮助?请帮忙点赞!";
return spanTag;
};
this.createSubscribeCommentElement = function () {
var subscribeComment = `
<a id="commentbox_opt_sub" href="javascript:void(0);" title="订阅后有新评论时会邮件通知您" onclick="commentManager.Subscribe();">订阅评论</a>
`;
return subscribeComment;
};
this.createMaskElement = function () {
var payTipMaskContainer = `
<div id="maskCtrl" style="position:fixed;z-index:99997;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0.7);display:none;"></div>
`;
return payTipMaskContainer;
};
this.createStatisticsElement = function () {
var aTag = `
|<a href="https://www.51.la/?19366069" target="_blank" style="color:#7fff00;">站长统计</a>
`;
return aTag;
};
this.createViewsElement = function () {
var divTag = `
<div id="ajiang_51la"><script type="text/javascript" src="//quote.users.51.la/?id=19366069&mb=3"></script></div>
`;
return divTag;
}
}
function PageOperationCtrl() {
var object = this;
this.clearSelect = ("getSelection" in window)
? function () {
window.getSelection().removeAllRanges();
}
: function () {
document.selection.empty();
};
this.accessLimit = function () {
document.oncontextmenu = function () {
window.event.returnValue = false;
return false;
};
document.ondragstart = document.onselectstart = function () {
try {
$('.cnblogs_code').on({
selectstart: function () {
$('#dotCopyTip').show();
$('#maskCtrl').show();
return false;
},
dragstart: function () {
$('#dotCopyTip').show();
$('#maskCtrl').show();
return false;
},
})
.css('cursor', 'pointer');
$('.container').on({
selectstart: function () {
$('#dotCopyTip').show();
$('#maskCtrl').show();
window.event.returnValue = false;
return false;
},
dragstart: function () {
$('#dotCopyTip').show(); $('#maskCtrl').show();
window.event.returnValue = false;
return false;
},
});
} catch (e) {
//
};
window.event.returnValue = false;
return false;
};
document.documentElement.onkeydown = function (e) {
let currKey = 0;
let evt = e || window.event;
currKey = evt.keyCode || evt.which || evt.charCode;
if (currKey == 123) {
$('#dotCopyTip').show();
$('#maskCtrl').show();
}
window.event.cancelBubble = true;
window.event.returnValue = false;
return false;
};
document.oncopy = document.oncut = document.onpaste = function (e) {
window.event.returnValue = false;
return false;
}
}
}
function bbbbb() {
this.scrollLoad = function (imgId, imgSrc, distance, title) {
var img_source = $('#' + imgId).attr('src');
if ("" == img_source) {
var documentClientHeight = document.documentElement.clientHeight || window.innerHeight;
var imgOffsetTop = $('#' + imgId)[0].offsetTop;
if (imgOffsetTop < documentClientHeight) {
$('#' + imgId)[0].src = imgSrc;
$('#' + imgId)[0].title = title;
$('#' + imgId)[0].alt = title;
return;
}
var max_imgClientTop = $('#' + imgId)[0].getBoundingClientRect().top;
max_imgClientTop = parseInt(max_imgClientTop);
var max_imgClientDistance = max_imgClientTop - documentClientHeight;
distance = ((distance || 0) > max_imgClientDistance) ? max_imgClientDistance : distance;
if (distance == max_imgClientDistance) {
$('#' + imgId)[0].src = imgSrc;
$('#' + imgId)[0].title = title;
$('#' + imgId)[0].alt = title;
return ;
}
$(document).scroll(function () {
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
var imgClientTop = $('#' + imgId)[0].getBoundingClientRect().top;
var clientHeight = documentClientHeight - imgClientTop;
if (-clientHeight <= distance || documentClientHeight >= imgClientTop) {
$('#' + imgId)[0].src = imgSrc;
$('#' + imgId)[0].title = title;
$('#' + imgId)[0].alt = title;
}
})
}
};
this.clickLoad = function (clickId, imgId, imgSrc) {
var img_source = $('#' + imgId).attr('src');
if ("" == img_source) {
$('#' + clickId).click(function () {
$('#' + imgId)[0].src = imgSrc;
});
}
};
}
function PageScrollCtrl() {
var heighss = 1300;
var firstStep = true;
var secStep = true;
var isIE = !!window.ActiveXObject;
var isIE8 = isIE && !!document.documentMode;
$(window).load(function () {
$.scrollUp(); $("#scrollUp").text("");
$("#scrollUp").attr("title", "回到顶部")
});
$(window).scroll(function () {
var $sbm = $("#sideBarMain");
var $sbar = $("#sideBar");
var $navc = $("#navigator");
var navH = $navc.offset().top;
var scroH = $(this).scrollTop();
if (scroH >= navH) {
if (firstStep) {
firstStep = false;
$navc.css({ "top": 0, "left": 0, "z-index": "1000" });
$navc.addClass("boxshadow");
}
if (!isIE8 && scroH > heighss && secStep && $sbm.width() > 2) {
secStep = false;
}
if (isIE8 && scroH > heighss && secStep && $sbm.width() > 2) {
secStep = false;
}
} else if (scroH < navH) {
if (!firstStep) {
firstStep = true;
$navc.css({ "margin": "0 auto" });
$navc.removeClass("boxshadow");
}
if (!isIE8 && scroH < heighss && (!secStep) && $sbm.width() < 3) {
secStep = true;
$sbar.show();
}
if (isIE8 && scroH < heighss && (!secStep) && $sbm.width() < 3) {
secStep = true;
}
}
});
}
// test
function ForbiddenDebug() {
var object = this;
this.isDebug = function () {
var timeLimit = 50;
var startTime = new Date();
debugger;
var endTime = new Date();
if (endTime - startTime > timeLimit) {
$('#topics').remove();
alert('\u68c0\u6d4b\u5230\u975e\u6cd5\u8c03\u8bd5\uff0c\u5373\u5c06\u5237\u65b0\u754c\u9762\uff01');
// 检测到非法调试,即将刷新界面!
window.location.reload();
}
};
this.consoleListener = function () {
setInterval(object.isDebug, 500);
}
}
var cpe=new CreatePageElement();
var poc = new PageOperationCtrl();
var ill = new bbbbb();
css3 & user-select
Chrome debug solution
- blank page & F12
- select DOM
- remove css
- remove Events
js & disabled mouse right button menus的更多相关文章
- js & listen mouse click
js & listen mouse click how to listen mouse click in js https://www.kirupa.com/html5/mouse_event ...
- js & disabled right click & disabled right menu
js & disabled right click (() => { const log = console.log; log(`disabled copy`); document.bo ...
- Bootstrap的js插件之按钮(button)
1)属性: data-loading-text="载入中..."--使button呈现载入状态: data-toggle="button"--使按钮可以切换状态 ...
- js中submit和button的区别
今天写一个js验证 遇到点小坑 记录一下 button-普通按钮,submit-提交按钮. submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和bu ...
- js点击按钮button效果(波效果)
Material Design风格纯js按钮点击波特效 演示效果 html部分: <button data-ripple> Demo button 6 </button> cs ...
- JS实现 点击button(copy) 复制对应的网址——类似于复制推广链接
<form action=""> <input type="text" class="share-input" value ...
- 点滴积累【JS】---JS小功能(button选择颜色)
效果: 代码: <head runat="server"> <title></title> <style type="text/ ...
- JS和JQuery实现Button绑定键盘Enter事件实现提交
JavaScript实现方法 document.onkeydown = function(e) { if (!e) e = window.event;//火狐中是 window.event if (( ...
- bootstrap插件学习-bootstrap.button.js
先看bootstrap.button.js的结构 var Button = function ( element, options ){} //构造器 Button.prototype = {} // ...
随机推荐
- SD 信贷出口 备忘
信贷出口LVKMPFZ1,LVKMPFZ2,LVKMPFZ3
- 构建高可靠hadoop集群之5-服务级别授权
本人翻译自: http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/ServiceLevelAuth.html ...
- Linux : centOS 与 Ubuntu 安装 Nginx
源码下载: wget http://nginx.org/download/nginx-1.14.0.tar.gz 解压:tar –zxvf xxx 安装依赖: yum -y install open ...
- ECSHOP和SHOPEX快递单号查询德邦插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- PHP实现微信红包算法和微信红包的架构设计简介
微信红包的架构设计简介: 原文:https://www.zybuluo.com/yulin718/note/93148 @来源于QCon某高可用架构群整理,整理朱玉华. 背景:有某个朋友在朋友圈咨询微 ...
- 利用phpspreadsheet切割excel大文件
背景: 利用phpspreadsheet可以轻松的解析excel文件,但是phpspreadsheet的内存消耗也是比较大的,我试过解析将近5M的纯文字excel内存使用量就会超过php默认的最大内存 ...
- 当安装mongodb客户端出现了Failed to load list of databases
在装mongodb最新版(4.1.5开发版)服务后,我用robo3t打开它的时候遇到了这个问题. 最直接的解决办法就是换一个mongodb版本,https://github.com/Studio3T/ ...
- Python自动化运维——系统进程管理模块
Infi-chu: http://www.cnblogs.com/Infi-chu/ 模块:psutil psutil是一个跨平台库,可以很轻松的为我们实现获取系统运行的进程和资源利用率等信息. 功能 ...
- AHOI2018 (暨HNOI2018)编外滚粗记
Day0: 向老师打了声报告就偷偷摸摸溜出了学校……感谢门卫师傅没把我当贼抓起来 车上背了一遍FFT,SAM的板子.嘴巴ac了两道CC水题.离线刷了一波知乎. 酒店好评. Day1: 不知不觉就开考了 ...
- DESCRIBEFIELD
実行時データ型識別.略語は RTTI です.プログラム実行時にデータ型を識別して処理を行う仕組みです.. DESCRIBE FIELD命令を使用 DESCRIBE FIELD命令を使用して.変数のデー ...