js 技巧 (九)按键JS

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

时间: 2024-10-12 01:13:36

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

冷门JS技巧

前端已经被玩儿坏了!像console.log()可以向控制台输出图片等炫酷的玩意已经不是什么新闻了,像用||操作符给变量赋默认值也是人尽皆知的旧闻了,今天看到Quora上一个帖子,瞬间又GET了好多前端技能,一些属于技巧,一些则是闻所未闻的冷知识,一时间还消化不过来.现分类整理出来分享给大家,也补充了一些平时的积累和扩展了一些内容. HTML篇 浏览器地址栏运行JavaScript代码 这个很多人应该还是知道的,在浏览器地址栏可以直接运行JavaScript代码,做法是以javascript:开

js技巧--转义符&quot;\&quot;的妙用

js技巧--转义符"\"的妙用 // blueDestiny, never-online // blueDestiny [at] 126.com 通常,我们在动态给定一个container的innerHTML时,通常是样做的: <div id="divc" /> <SCRIPT LANGUAGE="JavaScript"> var div = document.getElementById("divc"

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

总结一些能够提高开发效率的JS技巧,这些技巧很实用,觉得挺好,想推荐给大家,所以有了这篇文章. 生成随机UID const genUid = () => { var length = 20 var soupLength = genUid.soup_.length var id = [] for (var i = 0; i < length; i++) { id[i] = genUid.soup_.charAt(Math.random() * soupLength) } return id.jo

js 技巧整理

1.动态脚本元素 var script = document.createElement('script'); script.type = 'text/javascript'; script.onload = function(){//非IE alert('script loaded'); }; script.onreadystatechange = function(){//IE if(script.readyState == 'loaded' || script.readyState ==

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

1.创建个Winform项目. 2.在From1上增加一个文本框一个按钮. 3.在解决方案中创建一个test.js文件. test.js代码如下: function sayHello(str) { return "Hello," + str; } 4.进入Form1.cs编码后台代码. private void button1_Click(object sender, EventArgs e) { string path = AppDomain.CurrentDomain.BaseDi

js模版引擎handlebars.js实用教程

一.为什么选择Handlebars.js 据小菜了解,对于java开发,涉及到页面展示时,比较主流的有两种解决方案: 1. struts2+vo+el表达式. 这种方式,重点不在于struts2,而是vo和el表达式,其基本思想是:根据页面需要的信息,构造出一个实体,这个实体中包含了界面需要的所有属性,通常这个实体是由N个表中的字段构成的,俗称vo.由于vo的属性可以是String.List.Map等等等,又可以vo套vo,因此这种方式非常灵活,也非常好用. 在后台对vo进行赋值,通过strut

threesixty.min.js 和jquery.threesixty.js使用总结----实现360度展示

最近公司做一个项目需要360度展示汽车的外观,就用到了threesixty.min.js,自己总结一下使用方法: treesixty.min.js 源码: /*! threesixty-slider 2015-01-06 verison 2.0.5 */ /* http://github.com/vml-webdev/threesixty-slider.git */ !function (a) { "use strict"; a.ThreeSixty = function (b, c)

js 验证表单 js提交验证类

js 验证表单 js提交验证类 附加:js验证radio是否选择 <script language="javascript">function checkform(obj){for(i=0;i<obj.oo.length;i++)         if(obj.oo[i].checked==true) return true; alert("请选择")return false; }</script><form id="f

Node.js入门:Node.js&amp;NPM的安装与配置

Node.js安装与配置  Node.js已经诞生两年有余,由于一直处于快速开发中,过去的一些安装配置介绍多数针对0.4.x版本而言的,并非适合最新的0.6.x的版本情况了,对此,我们将在0.6.x的版本上介绍Node.js的安装和配置.(本文一律以0.6.1为例,0.6的其余版本,只需替换版本号即可.从http://nodejs.org/#download可以查看到最新的二进制版本和源代码). Windows平台下的Node.js安装 在过去,Node.js一直不支持在Windows平台下原生

【Node.js】3.Node.js和commomJS规范

来源:http://javascript.ruanyifeng.com/ 目录 概述 module对象 module.exports属性 exports变量 AMD规范与CommonJS规范的兼容性 require命令 基本用法 加载规则 目录的加载规则 模块的缓存 环境变量NODE_PATH 模块的循环加载 require.main 模块的加载机制 require的内部处理流程 概述 Node程序由许多个模块组成,每个模块就是一个文件.Node模块采用了CommonJS规范. 根据Common