‘JavaScript’ 分类的存档
[转载]11 个最常用的 AJAX 开发框架汇总_IT新闻_博客园. AJAX(Asynchronous JavaScript and XML,异步 JavaScript 和 XML),是创建交互式 Web 应用的主要开发技术。互联网中也有大量的关于 AJAX 的框架,本文汇总了最常用的 11 个框架。 1. jQuery JQuery 是一个轻量级的 Javascript 库,兼容 CSS3,还兼容各种浏览器。JQuery 使用户能更方便地处理 HTML documents、events、实现动画效果,并且方便地为网站提供 AJAX 交互。 2. MooTools MooTools 是一个简洁、模块化、面向对象的 JavaScript 库。它能够帮助你更快、更简单地编写可扩展和兼容性强的 JavaScript 代码。Mootools 跟 prototypejs 相类似,语法几乎一样。但它提供的功能要比 prototypejs 多,而且更强大。比如增加了动画特效、拖放操作等等。 3. Prototype Prototype 是 Sam Stephenson 写的一个非常优雅的 JavaScript 基础类库,对 JavaScript [...]
[转载]JavaScript倒计时跳转或后退 – 前端组qianduanzu.com – 博客园. 有的时候用户访问到一个错误或不可访问的页面,我们可以做一些这样的处理:倒计时N秒跳转到另一个页面或后退到前一个页面。 你可直接前往DEMO页看效果! 这种效果可以用JavaScript实现: HTML <p> <span id="timer"></span> 秒后自动返回 <a href="http://www.qianduanzu.com/">直接跳转</a> </p> JavaScript window.onload = function(){ var time = 3; //设置时间为几秒 var timer = document.getElementById(‘timer’); //获取ID为timer的对象 timer.innerHTML = time; //初始化显示秒数 time = time – 1; var g = window.setInterval(function(){ if(time<0){ window.clearTimeout(g); //清除动画 window.location.href = ‘http://www.qianduanzu.com/’; //跳转到指定地址 //window.history.back(-1); //后退 } else { [...]
[转载]分享14个jQuery插件开发人员易犯的错误 – gbin1 – 博客园. 随着越来越多的开发人员开始开发JQuery插件,所以我们随时都有可能遇到很烂的插件开发“成果”。没有在线演示,没有文档,或者插件没有遵循最 佳编码实 践。但是对于阅读这篇文章的朋友来说,你很幸运,因为这里我们将介绍14个JQuery插件开发中最容易犯的错误。希望大家会觉得有帮助! 随着JQuery的广泛使用,每天都出现很多新的插件 ,但是问题在于很多插件真不怎么样。 以前我们介绍过10个帮助你创建超棒jQuery插件的小技巧,在今天这篇文章中,我们将专注于jQuery插件的最佳开发实践,希望对于大家有帮助,如果你喜欢我们的文章,请给我们留言,谢谢! 错误一:不是在开发一个jQuery插件 总的来说,这里有很多大家接受的jQuery开发的模式。 如果你没有遵从这些设计模式,你开发的插件有可能很“垃圾“。看看如下最常用的模式: (function($, window, undefined){ $.fn.myPlugin = function(opts) { var defaults = { // 设置你的选项缺省值 } // 使用用户的选项缺省值来扩展缺省选项 var options = $.extend(defaults, opts || {}); return this.each(function(){ // jQuery链式操作 // 插件的相关内容 }); })(jQuery, window); 首先呢,我们创建了一个自调用的匿名方法来将我们插件中的参数和外部全局参数隔离开。我们传递$,window,和undefined三个变量参数。这些变 量和自调用的方法将和jQuery和window一起调用。对于undefined来说没有传递任何值,因此如果我们决定在插件中使用undefined 关键字的话,其实”undefined“并没有被定义。 使用这种方法可以有效的保证外部脚本被隔离而无法给undefined变量赋值,例如,将无法赋值undefined为true。 $被作为jQuery来传递;我们使用这种方法来保证在匿名方法的外部,$仍旧可以参考为其它内容,例如,prototype。 传递变量给全局性访问的window对象能允许更多经过压缩最小化(minification)处理的代码(当然,压缩是应该做的) 下 一步,我们将使用jQuery插件的模式, $.fn.PluginName。这用来登记你的插件使得其能被应用到 [...]
[转载]使用IE控件与Firefox扩展的页面打印解决方案 – 无心的专栏 – 博客频道 – CSDN.NET. for IE: MeadCo’s ScriptX ActiveX control for Firefox: JS Print Setup (extention) by search “printer ” in firefox addons site, these extentions was found: CustomPrint : Allows JS-developpers to define specific printer settings to use when printing a page from JavaScript PrinterMagic : This extension allows [...]
[转载]HTML5 WebSocket 技术介绍 – twaver – 博客园. WebSocket是html5规范新引入的功能,用于解决浏览器与后台服务器双向通讯的问题,使用WebSocket技术,后台可以随时向前端推送消息,以保证前后台状态统一,在传统的无状态HTTP协议中,这是“无法做到”的。 传统服务端推(server push)技术 WebSocket提出之前,为了解决后台推送消息到前台的需求,提出了一些解决方案,这些方案使用已有的技术(如ajax,iframe,flashplayer,java applet …),通过一些变通的处理来实现。 简单轮询 最简单的是前台轮询,每隔一段时间去请求后台,以获取最新状态,这种方式最容易实现,但效果也最差,频繁盲目的调用后台,带来不必要的开销,且实时性无法保障,后台出现更新,前端需要在下一次轮询时才知道。 长轮询 为了解决这些弊端,进化出长轮询技术,轮询请求会在后台阻塞,相当于保持一个长连接,直到后台出现更新或者超时才返回,这样就可以保证更新的及时性,前端得到请求后,重新建立轮询连接,等待后台的更新通知。 其他方案 其他解决方案无外乎保持一个长连接(如Iframe及htmlfile流),实时的从后台获取信息,或者借助第三方插件(flashPlayer, jre),使用的是flash xmlsocket或者java applet socket技术,这些方式都不够纯html,所以这里就不过多介绍了,更多传统server push 技术可参考IBM的文章:http://www.ibm.com/developerworks/cn/web/wa-lo-comet/ WebSocket介绍 webSocket是html5新引入的技术,允许后台随时向前端发送文本或者二进制消息,WebSocket是一种全新的协议,不属于http无 状态协议,协议名为”ws”,这意味着一个websocket连接地址会是这样的写法:ws://twaver.com:8080 /webSocketServer。ws不是http,所以传统的web服务器不一定支持,需要服务器与浏览器同时支持, WebSocket才能正常运行,目前的支持还不普遍,需要特别的web服务器和现代的浏览器。 浏览器对WebSocket的支持 Google Chrome浏览器最先支持WebSocket,随后是Safari,Firefox,此外最新版本的Opera和IE(Opera11,IE10)也支持WebSocket。 下面是主要浏览器的支持情况,Opera11中默认关闭了WebSocket支持,所以这里没有列出,更多信息可参考:http://en.wikipedia.org/wiki/WebSocket 与 http://caniuse.com/#search=websockets 客户端WebSocket的主要方法 浏览器支持程度各有区别,前面wiki中关于WebSocket的“Browser support”章节有介绍,遵循w3c关于WebSocket API的相关规范,浏览器提供了WebSocket类型,在Firefox中为MozWebSocket,检测浏览器是否支持WebSocket可以使用 下面的脚本代码: 检测浏览器是否支持WebSocket ? 1 2 3 4 5 window.WebSocket = window.WebSocket || window.MozWebSocket; if (!window.WebSocket){ [...]


