jQuery函数:getScript()

Posted by & filed under Uncategorized.

转载于http://qianduanblog.com/post/jquery-getscript-1.html 目前做的主题,含有大量的js,以前是全部压缩到2个文件里的,两个文件都很大,在现代浏览器中运行毫无压力。但是,对于残疾的ie来说,那简直就是受罪。会随机出现以下状况: 1、js加载无任何错误,但就是没有特效。 2、js加载总是失败。 3、js加载过慢,导致用户失去耐心。 4、js加载过多,导致浏览器性能下降不少。 目前这款主题,是越做越杂了,超过了当时简洁的想法,几乎涵盖了所有能想到的内容。所以,在对待所有浏览器相同的待遇时,ie的表现让人蛋疼不已。所以有了以下几个方法: 1、屏蔽ie的部分特效。 2、异步加载js文件,用到该文件再加载,并且不重复加载。 目前已修改完毕,等待测试。 当然,这里主要讲的就是getScript方法,这个方法是$.ajax的高级方法,就像$.post,$.get一样是封装好的ajax特殊用法。getScript可以这么用: if($.fn.cookie)//这里以jquery-cookie.js插件为例 { Read more […]

jQuery函数getScript()优缺点以及遇到的问题

Posted by & filed under Uncategorized.

转载于http://qianduanblog.com/post/jquery-getscript-2.html 1、getScript方法介绍  Load a JavaScript file from the server using a GET HTTP request, then execute it. ——官方如是说 有两个特征,一是能够使用get的http请求服务器资源下载到本地,二是能够在加载完毕之后并执行这个脚本。它的深层次的写法是这样的: $.ajax({ url: url, dataType:”script”, success: success }); getScript是它的高级用法,如get、post、getJSON差不多,都是基于ajax的运用和延伸。可以这么用: $.getScript(“ajax/test.js”,function(data, textStatus, jqxhr){ console.log(data);//data returned console.log(textStatus);//success console.log(jqxhr.status);//200 console.log(‘Load was performed.’); }); 完整使用方法是这样的: $.getScript(“ajax/test.js”) .done(function(script, Read more […]

wordpress简单页面载入进度条实现方法

Posted by & filed under Uncategorized.

转载于http://qianduanblog.com/post/wordpress-simple-progress-bar.html 谷歌一下进度条,99%的内容都是这么说的,在页面头部写一个进度条移动到10%,然后在页面中部使进度条移动到50%,然后在页面尾部使进度条移动到100%,这么做看起来很完美很符合常理,但这么做有个弊端,因为图片的加载是异步加载的,有时候图片什么的没有加载完毕,进度条就已经100%了。所以判断进度条到100%就必须在页面所有元素全部载入之后才可以。 下面是我写的方法,只需要添加一处js就可以了,并且是在页面全部加载完毕之后才跳到100%的。许多朋友要我写进度条,不是我不想写,是因为之前有些错误,现在是已经修正了,所以就贴出来了。代码很少,部分地方已经注释了。 最后更新:2013年3月28日 Read more […]

jquery:点击回到顶部以及定点滚动

Posted by & filed under Uncategorized.

转载于http://qianduanblog.com/post/jquery-click-to-scroll-to-top.html 1、思路 DOM的每个标签以及浏览器本身都有一个scrollTop属性,这不是CSS可以控制的(目前),这个值指的是在一个指定的容器内当前可视顶部距离内容顶部的距离,如果这个容器是浏览器的话,那么滚动条的上边距就是这个值。 那么,如果想要回到顶部的话,设置scrollTop的值为0即可,滚动到指定位置也可以设置这个值为指定的数值。 设置scrollTop为0: $(window).scrollTop(0); 设置scrollTop为指定数值: var T=200;//这个是number类型,不需要带px $(window).scrollTop(T);  2、方法 如1设置的话,浏览器会在瞬间改变滚动条的位置,没有滚动的效果。如果要滚动的话,我们就需要慢慢的改变scrollTop的值就好。那么如何来做呢? 依照上面的经验,我们可能这么写: var Read more […]

【转】Linux是怎么启动的(整理)

Posted by & filed under Uncategorized.

  转自:http://www.cnblogs.com/lamian/p/3971195.html 昨天笔试考了一道关于linux系统启动的过程,当时没答上来,现在整理出来(其实并不复杂)。 按下电源按钮的直到欢迎页出来之后,linux总共做的事可以分为五步来完成。 1、  BIOS加电自检: 加电自检,检测硬件设备。然后按照cmos上面的顺序来搜索处在活动状态下的可以引导的设备。可以是光驱、软盘、USB等。 2、  加载主引导加载程序(MBR): 主引导程序是一个512字节的映像。包含一点机器码还有一个小的分区。 主引导程序的任务就是查找并且加载处在硬盘分区上的次引导程序。通过分区表查找活动分区,并将处在活动分区的次引导加载程序读取到内存里面运行。 3、  Read more […]

【转】setsockopt 设置socket 详细用法

Posted by & filed under Uncategorized.

  转自:http://www.cppblog.com/killsound/archive/2009/01/16/72138.html 1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL)); 2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历 TIME_WAIT的过程: BOOL bDontLinger = FALSE; setsockopt(s,SOL_SOCKET,SO_DONTLINGER,(const char*)&bDontLinger,sizeof(BOOL)); 3.在send(),recv()过程中有时由于网络状况等原因,发收不能预期进行,而设置收发时限: int nNetTimeout=1000;//1秒 //发送时限 setsockopt(socket,SOL_S0CKET,SO_SNDTIMEO,(char *)&nNetTimeout,sizeof(int)); //接收时限 setsockopt(socket,SOL_S0CKET,SO_RCVTIMEO,(char Read more […]

【转】Windows网络编程系列教程之四:Select模型

Posted by & filed under Uncategorized.

  转自:http://www.51see.com/asp/bbs/public/bp_show.asp?t_id=200308131152297103 讲一下套接字模式和套接字I/O模型的区别。先说明一下,只针对Winsock,如果你要骨头里挑鸡蛋把UNIX下的套接字概念来往这里套,那就不关我的事。 套接字模式:阻塞套接字和非阻塞套接字。或者叫同步套接字和异步套接字。 套接字模型:描述如何对套接字的I/O行为进行管理。 Winsock提供的I/O模型一共有五种: select,WSAAsyncSelect,WSAEventSelect,Overlapped,Completion。今天先讲解select。 1:select模型(选择模型) 先看一下下面的这句代码: int iResult = recv(s, buffer,1024); 这是用来接收数据的,在默认的阻塞模式下的套接字里,recv会阻塞在那里,直到套接字连接上有数据可读,把数据读到buffer里后recv函数才会返回,不然就会一直阻塞在那里。在单线程的程序里出现这种情况会导致主线程(单线程程序里只有一个默认的主线程)被阻塞,这样整个程序被锁死在这里,如果永远没数据发送过来,那么程序就会被永远锁死。这个问题可以用多线程解决,但是在有多个套接字连接的情况下,这不是一个好的选择,扩展性很差。Select模型就是为了解决这个问题而出现的。 再看代码: int Read more […]