您现在的位置:首页
--> JavaScript
最近有网友在留言板里问到jRaiser和jQuery的冲突问题,特此写一篇文章进行解释。冲突的根源众所周知,jQuery是通过一个全局变量$来引用的,而jRaiser加载时也占用了$。因而冲突的根源就是全局变量$。说得明白点:当jQuery和jRaiser共存的时候,$究竟是谁?分析jQuery和jRaiser的源代码可以知道,这两个库在加载的时候都会占用$变量。因此,按照覆盖的原理,谁后加载,$变量就是谁。如何解决冲突别名法除了$,jQuery和jRaiser都占用...
相信每一个开发者都知道缓存的重要性。从头至尾有缓存的后台(memcached,xcache等。) 来减轻db的压力。对内容分发网络(CDN)缓存中希望你的浏览器缓存那些不止一次的加载资源。当然, 有客户端缓存,所以你不要重复昂贵的操作(即使是算法或大量的运算)。
JavaScript是弱类型语言,所以类型匹配问题很难追踪。同时,Js并没有像其他语言一样,提供内置的创建或实现接口的方法。这样,在我们进行对象转化的时候是很困难的。 不过,我们还是可以使用程序来模拟JavaScript Interface接口的实现。一般来说,模拟Interface的实现有如下三种方法: 注释法――将接口的定义写在注释中,大家能否小心注意,以实现接口的所有方法全凭自觉 属性检查法――自己说明我实现了哪些接口,一会儿你检查的...
window.location.href=“url”:改变url地址; window.location.replace(“url”):将地址替换成新url,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后 退”来访问已经被替换的URL,这个特点对于做一些过渡页面非常有用! window.location.reload():强制刷新页面,从服务器重新请求!
最近有读者求助,说在iframe中,创建一个元素,然后添加到父页面中在ie6,ie7中行不通,而firefox和IE8可以。
.和Nginx无关,是针对CSS背景图片的。但是实际上更常见的原因是Nginx上打开了Gzip压缩功能
小图整合在一张大图里,然后在不同的CSS里调用同一张图片,以此来减少请求数,这是页面优化最常用的手段,但IE6会对页面里同一个图片,只要在不同的地方有引用到就会重新请求一次,需要加JS代码解决
• 页面中的全局污染
今天一个同事打电话说他在退出的时候会出现一个confirm("您确定要退出吗");的提示,他又确信没有写这段代码。我使用httpwatch抓到所有页面的内容之后,使用httpwatch的find功能,查找到了confirm是出现在一个不太相关的js中,内容包含:$("#logout").click(function(){if(confirm("您确定要退出吗?"))...很明显,这里发生了元素ID污染的现象了,两个地方使用了相同的元素ID了。所以,页面中...
jQuery滑块及图像画廊技术的在网站首页或组合页中的使用日渐普及。自去年以来,高质量的滑块及图像画廊技术教程和插件又发布了很多,于是我们再次收集了若干个优秀的实现教程。这里发布的是25个jQuery滑块(13个教程和12款插件),希望能助您提高工作效率。
• 图片旋转的小例子
IE应该用滤镜实现同样的效果。
rotate()这个函数接收的是弧度值。角度乘以0.017(2π/360)可以转变为弧度。
无参数类继承的问题说到Javascript的类继承,就必然离不开原型链。先看一段示例代码,实现B继承于A:function A() {}A.prototype.a1 = function() {};function B() {}B.prototype = new A();B.prototype.b1 = function() {};var b = new B();alert(b.constructor == A); // truealert(b.constructor == B); // false这段代码的主要问题是:需要实例化A作为B的原型,此时就执行了A的构造函数。但按照面向对象的规则,实例化B之前,B...
设置一个元素的高度: var elem = document.getElementById(\'some-id\'), val = \'200px\'; elem.style.height = val; // 原生写法 YAHOO.util.Dom.setStyle(elem, \'height\', val); // YUI2 写法 $(elem).height(val); // jQuery 写法 当val = \'200px\'时,以上三种写法都能正确工作。当val = \'200xx\'时,以上三种写法在 IE 下都抛出异常,在非 IE 下被忽略。当val = \'-200px\'时,以上三种写法在 IE 下前两种抛...
window.location.href=“url”:改变url地址; window.location.replace(“url”):将地址替换成新url,该方法通过指定URL替换当前缓存在 历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后 退”来访问已经被替换的URL,这个特点对于做一些过渡页面非常有用! window.location.reload():强制刷新页面,从服务器 重新请求!
写这个小工具是因为我的首页要用,看到很多地方(baidu,google等首页)提到Html压缩,但是好像没有见过哪里有工具可以下载,所以就想到自己写,一般情况下情况下只用压缩首页,或者生成静态页后可以压缩,就这个小工具来说,我写正则也没有考虑到效率(css部分参考yui compressor只顾到了程序可读性)(认为Html不需要压缩的飘过)。
项目中遇到一个小问题,但严重影响了用户体验。我们先看一个例子:http://www.cssrain.cn/demo/dialog_jQuery_ui/modal_looseState.html这是我们项目中采用的jquery ui dialog 做的页面,我把他提取出来,简化一下。例子中,点击add按钮弹出遮罩层,层中有2个文本框和2个多选框。现在我们开始测试这个问题:首先,我们在文本框上输入文本,把多选框也选中。然后点击窗口关闭。接下来,我们再点击add按钮,重新打开层。在ie7下,发...
当其他创建对象的方法都不适合于你时,寄生构造器模式通常能满足你。该模式的主要意图是通过创建一个构造函数,在构造函数内部创建另一个对象并为其赋予方法,在最后将这个对象返回。
前几天我再开发一个叫 河蟹工具条 的时候,其中有个功能就是获取本页面的短网址。这个想法是好的,可是在我付诸于行动的时候,发现这个需要跨域。起初我的想法就是,跨域的最简单的方法就是增加一个script标签,因为script标签是允许跨域的。但是问题又来了,对方的API返回的是个json对象,用script标签只能执行,却不能获取到里面的东西,也就是说返回的东西是不可控的。
熟悉其它面向对象语言的人们在看待JS混合模式时总是感觉很奇怪,将构造函数和原型模式分开写让他们感觉很不爽。这里略微抱怨一下,众口总是难调。十全九美其实挺好。那么为了让这一部分人爽起来,就有必要来介绍一下动态原型模式。 The dynamic prototype pattern seeks to solve this problem by encapsulating all of the information within the constructor while maintaining the benefits of using both a constructor and...
现在是Web 2.0时代,AJAX使用得非常多。但是使用纯粹的AJAX,经常会遇到跨域的问题。其实归结起来,解决跨域问题,也不外乎几种方式:1、代理方式2、on-Demand方式3、iframe方式4、用户本地转储方式 (local)5、其实还是在服务端A用iframe解决了与服务器B通信的问题6、PHP + HTML(含JS)其实这几种方式,原理基本上都是一样的,绕开AJAX对于跨域的限制。下面就对这几种处理方式大概谈一下。1、web代理方式即用户访问A网站时所产生的...
近3天十大热文
- [68] IOS安全–浅谈关于IOS加固的几种方法
- [66] Twitter/微博客的学习摘要
- [64] 如何拿下简短的域名
- [61] android 开发入门
- [60] find命令的一点注意事项
- [59] Go Reflect 性能
- [57] 流程管理与用户研究
- [56] Oracle MTS模式下 进程地址与会话信
- [56] 图书馆的世界纪录
- [55] 读书笔记-壹百度:百度十年千倍的29条法则
赞助商广告