首页 > 代码库 > js日常分享
js日常分享
1,网页后退
<a href="http://www.mamicode.com/??????">后退</a>
so easy 的问题在百度就是没找到,我学asp.net的,或者用linkbutton实现也可以,就是做后退功能
asp.net 标签 a
分享到:
------解决方案--------------------
<a href="http://www.mamicode.com/javascritp:history.go(-1)">后退</a>
------解决方案--------------------
。。。 用JS吧,<a href="javascript:history.go(-1);">后退</a>
------解决方案--------------------
<a href="javascript:history.go(-1)">后退</a> 打错了
2.瀑布流实现代码
HTML
<div id="all"> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/1.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/2.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/3.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/4.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/5.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/6.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/7.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/8.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/9.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/10.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/11.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="http://www.mamicode.com/cars/12.jpg"/> </div> </div> </div>
这里用一个大盒子来装全部内容,小盒子box装块内容,pic盒子装图片。看css的代码
CSS
*{ margin: 0; padding: 0; } #all{ /*关键代码*/ -webkit-column-width: 437px; -moz-column-width: 437px; -o-column-width: 437px; -ms-column-width: 437px; /*-webkit-column-count: 3; -moz-column-count: 3; -o-column-count: 3; -ms-column-count: 3;*/ /*-webkit-column-rule: 2px dashed #F00; -moz-column-rule: 2px dashed #F00; -o-column-rule: 2px dashed #F00; -ms-column-rule: 2px dashed #F00;*/ /*-webkit-column-gap: 5px; -moz-column-gap: 5px; -o-column-gap: 5px; -ms-column-gap: 5px;*/ } .box{ padding: 15px 0 0 15px; } .pic{ padding: 10px; border: 1px solid #ccc; border-radius: 5px; box-shadow: 0 0 5px #ccc ; width: 400px; } .pic>img{ width: 400px; height: auto; }
3,上下左右的ASCII码值
上键:0 72
下键:0 80
左键:0 75
右键:0 77
4,加密技术
由于js是在客户端解释型的语言,所以很容易就可以通过浏览器查看到js写的源代码。这样,就有了加密js的需求。(其实这里的加密只是一种说法,从下面我们可以看出来其实没有起到加密的作用,只是把源代码做了一定的处理达到了无法直接阅读的目的)此外,对js的压缩也是提升性能的一种手段。
以加密下面的JAVASCRIPT代码为例:
CommonJs.js 文件
....
function test() {
alert("《黑客防线》");
}
目的:把上面的js文件进行加密,同时还要保证调用者不用修改代码,即:通过test()仍然可以使用改方法;
原理:大家可以想到eval函数,这个函数的作用就是检查JavaScript代码并执行。有了这个方法,这样就使用一个edCode()和deCode()类似的函数对其可以对CommonJs.js中的代码进行。过程是这样的,使用enCode函数对CommonJs.js中的文件加密,生成一个密文Str,然后在使用decode解密,最后在使用eval执行,这样就可以保证代码被加密但仍然可以被正常调用的需求。例如:CommonJs.js中的内容就可以是一下内容:解密函数decode()和eval(decode(Str))
缺点:很明显,虽然在最终的CommonJs.js中看到的是加密后的内容(Str),但是解密函数也是公开的,就等于是没有达到加密的效果。
下面是网上一些常用的加密方式如下:
以加密下面的JAVASCRIPT代码为例:
<script LANGUAGE="JavaScript">
alert("《黑客防线》");
</script>
一:最简单的加密解密
大家对于JAVASCRIPT函数escape()和unescape()想必是比较了解啦(很多网页加密在用它们),分别是编码和解码字符串,比如例子代码用escape()函数加密后变为如下格式:
alert%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B
如何?还看的懂吗?当然其中的ASCII字符"alert"并没有被加密,如果愿意我们可以写点JAVASCRIPT代码重新把它加密如下:
%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B
呵呵!如何?这次是完全都加密了!
当然,这样加密后的代码是不能直接运行的,幸好还有eval(codeString)可用,这个函数的作用就是检查JavaScript代码并执行,必选项 codeString 参数是包含有效 JavaScript 代码的字符串值,加上上面的解码unescape(),加密后的结果如下:
<script LANGUAGE="JavaScript">
var code=unescape("%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B");
eval(code)
</script>
是不是很简单?不要高兴,解密也就同样的简单,解密代码都摆给别人啦(unescape())!呵呵
二:转义字符"/"的妙用
大家可能对转义字符"/"不太熟悉,但对于JavaScript提供了一些特殊字符如:/n (换行)、 /r (回车)、/‘ (单引号 )等应该是有所了解的吧?其实"/"后面还可以跟八进制或十六进制的数字,如字符"a"则可以表示为:"/141"或"/x61"(注意是小写字符"x"),至于双字节字符如汉字"黑"则仅能用十六进制表示为"/u9ED1"(注意是小写字符"u"),其中字符"u"表示是双字节字符,根据这个原理例子代码则可以表示为:
八进制转义字符串如下:
<script LANGUAGE="JavaScript">
eval("/141/154/145/162/164/50/42/u9ED1/u5BA2/u9632/u7EBF/42/51/73")
</script>
十六进制转义字符串如下:
<script LANGUAGE="JavaScript">
eval("/x61/x6C/x65/x72/x74/x28/x22/u9ED1/u5BA2/u9632/u7EBF/x22/x29/x3B")
</script>
这次没有了解码函数,因为JavaScript执行时会自行转换,同样解码也是很简单如下:
<script LANGUAGE="JavaScript">
alert("/x61/x6C/x65/x72/x74/x28/x22/u9ED1/u5BA2/u9632/u7EBF/x22/x29/x3B")
</script>
三:使用Microsoft出品的脚本编码器Script Encoder来进行编码
工具的使用就不多介绍啦!我是直接使用JavaScript调用控件Scripting.Encoder完成的编码!代码如下:
<script LANGUAGE="JavaScript">
var Senc=new ActiveXObject("Scripting.Encoder");
var code=‘<script LANGUAGE="JavaScript">/r/nalert("《黑客防线》");/r/n‘;
var Encode=Senc.EncodeScriptFile(".htm",code,0,"");
alert(Encode);
</script>
js日常分享