文章分类

站点统计

  • 分类总数: 13 个
  • 文章总数: 127 篇
  • 评论总数: 9 条
  • 附件总数: 49 个
  • 建站日期: 2008-08-18
  • 访问总数: 99104 人次
  • RSS订阅: 文章|评论


压缩网站的JavaScript文件

KY8 于 2009-01-03 14:55:48 发表JavaScript

通常在一个 Web 2.0 应用中,会有很多业务逻辑相关的 JS 代码,而且很多逻辑从后台搬到了客户端执行,因此这部分客户端代码非常多。为了提供更快的响应速度,典型的做法是压缩所有客户端需要加载的资源包括图 片,HTML 文件,CSS 文件,JS 代码等等,而图片文件已经无法再进行压缩,只有 HTML,CSS,JS 等文本文件有进一步压缩的空间。

进行JavaScript文件压缩的工具比较多:Douglas Crockford的JSMINthe Dojo compressor、Dean Edwards的PackerYUI Compressor

the Dojo compressor shrinksafe 之所以称其“safe”,是因为它在压缩了 JS 文件以后,不会改变其对象内部方法和属性名称,引用到该段代码的地方不需要任何更改,还是可以直接调用其内部方法和属性。在 custom_rhino.jar 所在的目录运行 java –jar custom_rhino.jar –version 100 可以进入 rihno 的命令行状态。

压缩一个 JS 文件的命令如下:

                java -jar custom_rhino.jar -c infile.js > outfile.js
                

经测试,一个 JS 文件经过这样的命令压缩后,可以减小 30% 左右,将压缩后的文件放回系统中,对该 JS 文件的功能调用没有任何影响。

YUI Compressor不但可以压缩JavaScript还可以压缩CSS,用法:

  1. Usage: java -jar yuicompressor-x.y.z.jar [options] [input file] 
  2.  
  3. Global Options 
  4.     -h, --help                      Displays this information 
  5.     --type <js|css>             Specifies the type of the input file 
  6.     --charset <charset> Read the input file using <charset> 
  7.     --line-break <column>   Insert a line break after the specified column number 
  8.     -v, --verbose                       Display informational messages and warnings 
  9.     -o <file>                       Place the output into <file>. Defaults to stdout. 
  10.  
  11. JavaScript Options 
  12.     --nomunge                       Minify only, do not obfuscate 
  13.     --preserve-semi             Preserve all semicolons 
  14.     --disable-optimizations Disable all micro optimizations 

JSMIN可以通过“Javascript精简压缩”进行在线压缩

Packer可以通过“Javascript混淆打包”进行在线压缩

被阅14次, 0票压缩 JavaScript 发表评论

JavaScript游戏库及25个网页游戏

Admin 于 2008-12-22 02:40:29 发表JavaScript

JavaScript,随着Ajax的兴起,正成为每一位web设计师/开发者必知的语言。在JavaScript的帮助下,你几乎做任何事。这儿 有许多 容易使用的JavaScript库,如jQuery、MooTools、Prototype等,以及许多适合编写游戏的库如Game JSGameQueryJavaScript GameLib

这篇文章列出了25款JavaScript游戏,包括中国象棋经典的打猎游戏Digg攻击火星入侵者单人纸牌纸牌游戏等等,未来我们肯定会看到更多的JavaScrip游戏。

被阅56次, 0票网页游戏 发表评论

JavaScript图形库jsGraphics

Admin 于 2008-10-19 00:30:05 发表JavaScript

此JavaScript图形库可在网页上动态绘制圆、椭圆、斜线、折线、多边形(包括三角形、矩形)。底层通过创建大量1px*1px的DIV实 现,同时对于连续的像素进行了优化,尽量地减少所需的DIV,因此有较好的性能,当然和Java2D、GDI+、OpenGL、DirectX、 Flash、SVG、VML及HTML Canvas是无法相比较的。网站:http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm 。使用LGPL协议发布。
1、效果

2、优化原理

支持的浏览器
Linux: Browsers with Gecko-Engine (Mozilla, Netscape 6+, Galeon), Konqueror, Opera 5, 6 and 7+.
Windows: Gecko-Browsers, IE 4, 5 and 6, Opera 5, 6 and 7+.
Mac: Safari, Gecko-Browsers, Opera, partially IE.

使用方法:
1、下载,并在页面中引入脚本:<script type="text/javascript" src="wz_jsgraphics.js"></script>
2、创建一个Div作为画布:
<div id="myCanvas" style="position:relative;height:250px;width:100%;"></div>
3、在JavaScript中创建对象:

  1. <script type="text/javascript"> 
  2. <!--方法一: 
  3. var jg = new jsGraphics("myCanvas"); 
  4. //--> 
  5. </script> 
  6. <script type="text/javascript"> 
  7. <!--方法二: 
  8. var cnv = document.getElementById("myCanvas"); 
  9. var jg = new jsGraphics(cnv); 
  10. //--> 
  11. </script>  

4、例子:

  1. <script type="text/javascript"
  2. <!-- 
  3. function myDrawFunction() 
  4.   jg_doc.setColor("#00ff00"); // green 
  5.   jg_doc.fillEllipse(100, 200, 100, 180); // co-ordinates related to the document 
  6.   jg_doc.setColor("maroon"); 
  7.   jg_doc.drawPolyline(new Array(50, 10, 120), new Array(10, 50, 70)); 
  8.   jg_doc.paint(); // draws, in this case, directly into the document 
  9.  
  10.   jg.setColor("#ff0000"); // red 
  11.   jg.drawLine(10, 113, 220, 55); // co-ordinates related to "myCanvas" 
  12.   jg.setColor("#0000ff"); // blue 
  13.   jg.fillRect(110, 120, 30, 60); 
  14.   jg.paint(); 
  15.  
  16.   jg2.setColor("#0000ff"); // blue 
  17.   jg2.drawEllipse(10, 50, 30, 100); 
  18.   jg2.drawRect(400, 10, 100, 50); 
  19.   jg2.paint(); 
  20.  
  21. var jg_doc = new jsGraphics(); // draw directly into document 
  22. var jg = new jsGraphics("myCanvas"); 
  23. var jg2 = new jsGraphics("anotherCanvas"); 
  24.  
  25. myDrawFunction(); 
  26.  
  27. //--> 
  28. </script>  

 

被阅237次, 0票jsGraphics 发表评论

JavaScript图形库Raphaël

Admin 于 2008-10-19 00:09:22 发表JavaScript

Raphaël 是一个小巧的JavaScript图形库,通过它可以在网页中类似于Windows的GDI方式进行绘图。Raphaël底层通过SVG或VML实现,支持的浏览器有Firefox 3.0+, Safari 3.0+, Opera 9.5+ 和Internet Explorer 6.0+。Raphaël基于MIT License发布。

在页面中引用raphael.js脚本文件后,就可以像下面这样进行绘图了:

  1. // Creates canvas 320 × 200 at 10, 50 
  2. var paper = Raphael(10, 50, 320, 200); 
  3. // Creates circle at x = 50, y = 40, with radius 10 
  4. var circle = paper.circle(50, 40, 10); 
  5. // Sets the fill attribute of the circle to red (#f00) 
  6. circle.attr("fill""#f00"); 
  7. // Sets the stroke attribute of the circle to white (#fff) 
  8. circle.attr("stroke""#fff"); 

演示:

 文档:http://raphaeljs.com/reference.html

被阅125次, 0票Raphaël 发表评论

LyteBox -另一个LightBox效果库

Admin 于 2008-09-30 01:29:53 发表JavaScript

Lightbox的效果类似于WinXP操作系统的注销/关机对话框,除去屏幕中心位置的对话框,其他的区域都以淡出的效果逐渐变为银灰色以增加对比度, 此时除了对话框内的表单控件,没有其他区域可以获取焦点。 Lightbox的作用则相当于从前只在IE中被支持的"Modal Dialog";现在在FireFox也可用window.open(url, name, " modal=yes ");来实现同样的效果。使用"Modal Dialog"将限制用户的操作于弹出的对话框中,只有完成设定好的操作后方才关闭。在一些逻辑敏感的应用中强制吸引用户的注意力以防止用户的误操作导致 程序逻辑淆乱。
最流行的LightBox库是Lokesh Dhakar (http://www.huddletogether.com)的基于prototype.js、effects.js和scriptaculous.js的实现,LightBox2 Demo:http://www.cnbruce.com/test/lightbox/ 。而LyteBox(http://dolem.com/lytebox/)只需在网页中引用lytebox.js脚本文件就足够了。Lytebox不仅 能支持图像展示,还比Lightbox2多了“自动播放图像”的功能,当然最主要的是Lytebox支持弹出网页的效果。

被阅146次, 0票LyteBox LightBox 发表评论

jQuery-jTemplate用法简要

Admin 于 2008-09-21 06:22:43 发表JavaScript

1、导入jTemplates.js

  1. <script type="text/javascript" src="js/jquery-jtemplates.js"></script> 

2、html中的代码

  1. <div id="content"></div> 

3、模板代码

  1. < textarea id="template" style="display:none"> 
  2.     你好:{$T.name},今天你{$T.age}岁了。 
  3. </textarea> 

4、JSON数据

  1. var profile={name:"小白",age:"24"}; 

5、调用方法

  1. $(".content").setTemplateElement("template"); 
  2. /* template指模板容器(这里是textarea)的ID;这里把template的innerHTML给了content。 
  3. 也可以直接将innerHtml传入: 
  4. var abc ='<textarea id="template" style="display:none">' 
  5. + '你好:{$T.name},今天你{$T.age}岁了。</textarea>'; 
  6. $(".content").setTemplateElement(abc); 
  7. */ 
  8. $(".content").processTemplate(profile);//让content读取profile这个数据。 

6、最终输出

  1. <div id="jTemplatesTest">你好:小白,今天你24岁了。</div> 
被阅229次, 0票jQuery Template 发表评论

My97DatePicker一个非常优秀的JS日期控件

Admin 于 2008-09-19 00:46:25 发表JavaScript

My97DatePicker是一个非常优秀的JS日期控件,功能有:

 1. 自动切换语言
 2. 自定义和动态切换皮肤
 3. 自定义事件
 4. 日期范围限制
  4.1 静态限制
  4.2 动态限制
 5. 自动选择显示位置
 6. 跨越框架显示选择框
 7. 支持日期和时间的编辑
 8. 自定义时间和日期格式
 9. 增强的自动纠错功能
10. 完美支持FireFox

被阅506次, 0票 发表评论

JavaScript下实现StringBuilder

Admin 于 2008-09-17 11:01:15 发表JavaScript

自从Web2.0网站流行后,浏览器比以前承担了更多的计算,但是在IE上进行字符串连接非常慢,如果需要进行较多的字符串连接就非常有必要使用StringBuilder进行高速地字符串的构建。以下是JavaScript实现的StringBuilder:

被阅135次, 0票 发表评论
1 / 2 / 14 | « 1 2 » |
Powered by MiniBoke v2.0.0.8 Build 0828

Copyright © 2008 开源吧!. All rights reserved.

粤ICP备07500939号