1. 禁止复制(copy),禁用鼠标右键!

<SCRIPT> 
//加入页面保护 
function rf() 
{return false; } 
document.oncontextmenu = rf 
function keydown() 
{if(event.ctrlKey ==true || event.keyCode ==93 || event.shiftKey ==true){return false;} } 
document.onkeydown =keydown 
function drag() 
{return false;} 
document.ondragstart=drag 
function stopmouse(e) { 
if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) 
return false; 
else if 
(navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) { 
alert("版权没有,但别复制 :)"); 
return false; 

return true; 

document.onmousedown=stopmouse; 
if (document.layers) 
window.captureEvents(Event.MOUSEDOWN); 
window.onmousedown=stopmouse;

</SCRIPT> 
<script language="javascript"> 
function JM_cc(ob){ 
var obj=MM_findObj(ob); if (obj) { 
obj.select();js=obj.createTextRange();js.execCommand("Copy");} 
}

function MM_findObj(n, d) { //v4.0 
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { 
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} 
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n]; 
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document); 
if(!x && document.getElementById) x=document.getElementById(n); return x; 

</script>

2. JS和HTML互转 ~~~~~~~~~

<body> 
<style> 
body{font-size:9pt} 
textarea {color="#707888";font-family:"verdana"} 
.inputs {color="#707888";border:1px solid;background:#f4f4f4} 
</style> 
在这里输入你需要转换的格式,可以是JavaScript也可以是DHtml. 
<br> 
<textarea id="codes" > 
</textarea> 
<br> 
<button  class="inputs"> 
清除输出 
</button> 
<button  class="inputs"> 
全选代码 
</button> 
<button  class="inputs"> 
拷贝代码 
</button> 
<button  class="inputs"> 
粘贴代码 
</button> 
<button  class="inputs"> 
Js转Html 
</button> 
<button  class="inputs"> 
Html转Js 
</button> 
<button  class="inputs"> 
点击显示源文件 
</button> 
<button  class="inputs"> 
预览代码[F12] 
</button> 
<br> 
这个是输出格式的窗口: 
<br> 
<textarea id="outputs" ></textarea> 
<br> 
一个不好的消息:这个Js转Html部分现在只是支持由这个程序生成的 
<br> 
作者:FlashSoft2000 QQ:14433548 
<input id="hide" style='display:none'> 
<script> 
//定义title 
document.title="多功能网页转换" 
//显示网页源文件 
function writes() 

outputs.value=document.body.outerHTML; 

//清除输出窗口 
function clears() 

outputs.innerHTML=''; 

//替换特定字符 
//n1字符串,n2要替换的字,n3替换的字 
function commute(n1,n2,n3) 

var a1,a2,a3=0,a0='' 
a1=n1.length; 
a2=n2.length; 
for(x=0;x<=(a1-a2);x++) 

if(n1.substr(x,a2)==n2) 

a0+=n1.substring(a3,x); 
a0+=n3; 
x+=(a2-1); 
a3=x+1; 


if(a3<a1)a0+=n1.substring(a3,a1) 

return a0; 


//转换JavaScript为DHtml 
function js2html() 

hide.value=codes.value 
hide.value=commute(hide.value,'"""','"'); 
hide.value=commute(hide.value,'document.write("',''); 
hide.value=commute(hide.value,'")',''); 
hide.value=commute(hide.value,'<script>',''); 
hide.value=commute(hide.value,'<"/script>',''); 
outputs.value=hide.value 

//转换DHtml为JavaScript 
function html2js() 

hide.value=codes.value 
hide.value=commute(hide.value,'"','"""'); 
hide.value=commute(hide.value,'""','""""'); 
hide.value=commute(hide.value,'<"/script>','<""/script>'); 
outputs.value="<script>document.write("""+hide.value+""")<"/script>" 

//预览代码 
function seeHtm() 

open().document.write("<title>测试代码窗口</title>"+outputs.value); 

//用快捷键F12预览 
document.onkeydown=seeHtms 
function seeHtms() 

if((event.keyCode==123)) 

open().document.write("<title>测试代码窗口</title>"+outputs.value); 


//全选代码 
function ta() 

outputs.select() 

//拷贝代码 
function tc() 

document.execCommand("Copy") 

//粘贴代码 
function tp() 

outputs.focus() 
document.execCommand("Paste") 

</script>

  出处至:http://xiaobingandxiaoer.iteye.com/blog/1917696

js 技巧 (九)按键JS的更多相关文章

  1. JS技巧

    2016-08-09 200多个js技巧代码(Down) word下载 200多个js技巧代码 目录 1.文本框焦点问题... 6 2.网页按钮的特殊颜色... 6 3.鼠标移入移出时颜色变化... ...

  2. Atitit.android js 的键盘按键检测Back键Home键和Menu键事件

    Atitit.android js 的键盘按键检测Back键Home键和Menu键事件 1. onKeyDown @Override public boolean onKeyDown(int keyC ...

  3. js获取每个按键的ASCII值

    通过js绑定键盘按下事件onkeydown获取每个按键的ascII值. js获取每个按键的ascii值 <script language="javascript"> / ...

  4. Bootstrap入门(二十九)JS插件6:弹出框

    Bootstrap入门(二十九)JS插件6:弹出框 加入小覆盖的内容,像在iPad上,用于存放非主要信息 弹出框是依赖于工具提示插件的,那它也和工具提示是一样的,是需要初始化才能够使用的 首先我们引入 ...

  5. Atitit.js的键盘按键事件捆绑and事件调度

    Atitit.js的键盘按键事件捆绑and事件调度 1. Best的方法还是 objEvtMap[ id+evt ]=function(evt,element) 2. Event bind funct ...

  6. 提升开发幸福感的10条JS技巧

    鱼头总结一些能够提高开发效率的JS技巧,这些技巧很实用,觉得挺好,想推荐给大家,所以有了这篇文章. 生成随机UID const genUid = () => {  var length = 20 ...

  7. 你应该了解的25个JS技巧

    目录 1. 类型检查小工具 2. 检查是否为空 3. 获取列表最后一项 4. 带有范围的随机数生成器 5. 随机 ID 生成器 6. 创建一个范围内的数字 7. 格式化 JSON 字符串,string ...

  8. JavaScript学习总结(十九)——使用js加载器动态加载外部Javascript文件

    今天在网上找到了一个可以动态加载js文件的js加载器,具体代码如下: JsLoader.js 1 var MiniSite=new Object(); 2 /** 3 * 判断浏览器 4 */ 5 M ...

  9. C#使用技巧之调用JS脚本(转)

    .创建个Winform项目. .在From1上增加一个文本框一个按钮. .在解决方案中创建一个test.js文件. test.js代码如下: function sayHello(str) { retu ...

  10. vue.js技巧小计

    //删除数组索引方法01 del (index) { this.arr.splice(index ,1); } //删除数组索引方法01 del (index) { this.$delete(this ...

随机推荐

  1. Linux系统挂载NTFS文件系统(转载)

    转自:http://hermesbox.blogbus.com/logs/47386987.html 今天尝试并成功的将一块500G的移动硬盘挂载到了RHEL5的系统上,甚感欣慰.想到也许以后自己或其 ...

  2. 题解报告:hdu 2602 Bone Collector(01背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Problem Description Many years ago , in Teddy’s ...

  3. sed练习第一节

    ed语法和基本命令 employee.txt文件内容如下: 101,John Doe,CEO 102,Jason Smith,IT Manager 103,Raj Reddy,Sysadmin 104 ...

  4. Spring注解驱动开发之声明式事务

    前言:现今SpringBoot.SpringCloud技术非常火热,作为Spring之上的框架,他们大量使用到了Spring的一些底层注解.原理,比如@Conditional.@Import.@Ena ...

  5. 三种将list转换为map的方法(传统方法、jdk8 Stream流、guava)

    三种将list转换为map的方法 - jackyrong - ITeye博客:http://jackyrong.iteye.com/blog/2158009

  6. 前端css3样式前缀自动补全工具--autoprefixer

    最近在学习一份来自git的动画框架源码,看懂70%的核心代码后,打算自己动手实践一版,然鹅,所有框架搭起来以后,在动画这块却出了问题: 想设计一个slideInLeft的动画,必然想到了要从偏移-10 ...

  7. 平衡图片负载,提升web站点访问体验

    最近给分公司做官方网站,内网测试一切ok,发布至云端后,体验惊人——公司外网网速渣渣(十几k~几十k),更加要命的是,网站的高清图,根本就加载不出来,几秒,十几秒过去了,仍然在转圈圈,如下图... 于 ...

  8. Jboss服务器使用

    一.作者前言 早上坐地铁的时候,阅览about JAVA.了解到一个程序猿,对于服务器的使用,最起码的熟悉那么几种,例如tomcat,jboss,weblogic,websphere,还有Nginx. ...

  9. Android应用开发细节点

    1.如果handler是在主线程声明,就属于主线程,handleMessage属于引用handler的那个线程:2.ByteArrayOutputStream/ByteArrayInputStream ...

  10. 解决VS2010警告unsuccessfulbuild”,因为已指定“AlwaysCreate”

    找到文件C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets: 定位到<Touch Alway ...