色情女明星竟然是 PHP 程序员

20100723090701_74049.jpg

Continue reading...

javascript 动态加载js css 回调

一款实现无阻塞加载javascript的js、css动态加载器(css 是顺带的功能…),作用是给目标js、css通过createElement方式动态append到body中的head里头,并提供加载成功时回调函数的功能。
载自:http://www.jackness.org/?p=716

  1. /*  
  2.  * jcLoader()  一个简单的 js、css动态加载 api  
  3.  * jcLoader().load(url,callback)  加载函数 支持链式操作  
  4.  * -url 需要加载的 js/css 地址,支持同时加载多个 地址之间用 ‘,’隔开  
  5.  * -callback 加载完成 url里面的文件之后触发的事件  
  6.  * ---------------------------------------------------  
  7.  * example:  
  8.  
  9. 完整版:  
  10. jcLoader().load({  
  11.     type:"js",  
  12.     url:"temp/demojs01.js,temp/demojs02.js,temp/demojs03.js,temp/demojs04.js,temp/demojs05.js,"  
  13. },function(){  
  14.     alert("all file loaded");  
  15. }).load({  
  16.     type:"css",  
  17.     url:"temp/democss01.css"  
  18. },function(){  
  19.     alert("all css file loaded");  
  20. })  
  21. 简单版:  
  22. jcLoader().load({type:"js",url:"temp/demojs01.js"},function(){alert("all file loaded")});  
  23. jcLoader().load({type:"css",url:"temp/democss01.css"},function(){alert("all css file loaded")});  
  24.  
  25.  * ---------------------------------------------------  
  26.  * power by jackNEss  
  27.  * date:2011-11-10(光棍节前夕)  
  28.  * ver 1.0  
  29.  */  
  30. var jcLoader = function(){   
  31.   
  32.     var dc = document;   
  33.   
  34.     function createScript(url,callback){   
  35.         var urls = url.replace(/[,]\s*$/ig,"").split(",");   
  36.         var scripts = [];   
  37.         var completeNum = 0;   
  38.         forvar i = 0; i < urls.length; i++ ){   
  39.   
  40.             scripts[i] = dc.createElement("script");   
  41.             scripts[i].type = "text/javascript";   
  42.             scripts[i].src = urls[i];   
  43.             dc.getElementsByTagName("head")[0].appendChild(scripts[i]);   
  44.   
  45.             if(!callback instanceof Function){return;}   
  46.   
  47.             if(scripts[i].readyState){   
  48.                 scripts[i].onreadystatechange = function(){   
  49.   
  50.                     ifthis.readyState == "loaded" || this.readyState == "complete" ){   
  51.                         this.onreadystatechange = null;   
  52.                         completeNum++;   
  53.                         completeNum >= urls.length?callback():"";   
  54.                     }   
  55.                 }   
  56.             }   
  57.             else{   
  58.                 scripts[i].onload = function(){   
  59.                     completeNum++;   
  60.                     completeNum >= urls.length?callback():"";   
  61.                 }   
  62.             }   
  63.   
  64.         }   
  65.   
  66.     }   
  67.   
  68.     function createLink(url,callback){   
  69.         var urls = url.replace(/[,]\s*$/ig,"").split(",");   
  70.         var links = [];   
  71.         forvar i = 0; i < urls.length; i++ ){   
  72.             links[i] = dc.createElement("link");   
  73.             links[i].rel = "stylesheet";   
  74.             links[i].href = urls[i];   
  75.             dc.getElementsByTagName("head")[0].appendChild(links[i]);   
  76.         }   
  77.         callback instanceof Function?callback():"";   
  78.     }   
  79.     return{   
  80.         load:function(option,callback){   
  81.             var _type = "",_url = "";   
  82.             var _callback = callback   
  83.             option.type? _type = option.type:"";   
  84.             option.url? _url = option.url:"";   
  85.             typeof option.filtration == "boolean"? filtration = option.filtration:"";   
  86.   
  87.             switch(_type){   
  88.                 case "js":   
  89.                 case "javascript": createScript(_url,_callback); break;   
  90.                 case "css": createLink(_url,_callback); break;   
  91.             }   
  92.   
  93.             return this;   
  94.         }   
  95.     }   
  96. }  

Continue reading...

Windows下PHP(Thread Safe与Non Thread Safe)版本说明

linux下直接下载源码,在服务器上编译即可,发现windows下有4个版本:

VC9 x86 Non Thread Safe
VC9 x86 Thread Safe
VC6 x86 Non Thread Safe
VC6 x86 Thread Safe


网上查看了下4种版本对应使用的情况

一、如何选择 PHP5.3 的 VC9 版本和 VC6 版本
VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。

VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。

二、如何选择 PHP5.3 的 Thread Safe 和 Non Thread Safe 版本

先从字面意思上理解,Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源。Non Thread Safe 是非线程安全,在执行时不进行线程(Thread)安全检查。

再来看 PHP 的两种执行方式:ISAPI 和 FastCGI。

ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;

而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。

这样就可以根据自己的使用情况选择所需的php版本下载了。

注:ISAPI 和 FastCGI无需在php中设置,是webserver的操作。

通过phpinfo();查看当前php是什么版本,Thread Safety,这个参数是查看是否是线程安全。

Continue reading...

领人舒适的CSS颜色代码

http_localhost_color.jpg

Continue reading...

引用新浪微软Google的CDN加载jQuery内(类)裤。

有时候写个小页面,懒的加载这么大的jQuery库,或者你的网站速度不是很理想,这时候可以使用第三方的jQuery库,目前最佳的选择就是使用新浪Microsoft或Google提供的CDN jQuery源。

速度和稳定的原因,国内站点建议大家选用顺序为新浪微软Google的

新浪的:

http://lib.sinaapp.com/js/jquery/1.6/jquery.js
http://lib.sinaapp.com/js/jquery/1.6/jquery.min.js

其他版本的: http://lib.sinaapp.com/?path=/jquery

微软的:

http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.js
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.min.js

其他版本的:http://www.asp.net/ajaxlibrary/cdn.ashx

Google的:

path: https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js
path(u): https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.js

其他版本的:http://code.google.com/intl/zh-CN/apis/libraries/devguide.html#jquery

除了常规的调用方法外,Google也提供了相应的办法,那就是google load。我们只需要在页面里引用一个js文件,就可以根据需要实时加载用到的js库了。

首先在页头部分加入以下这行代码:


加载jQuery,可以这样使用:

google.load("jquery","1.6.0");
这样我们就从Google的最近的CDN镜像上加载了jQuery 1.6.0版的js库,接下来就可以正常写js代码了。不过,即使是Google的CDN镜像,下载也毕竟是需要时间的,万一代码库还没有下载完而浏览器已经解释到了下面的代码了怎么办?我们可以设定在js库加载完以后才开始执行js

google.setOnLoadCallback(function(){//要执行的代码});
新浪和Google还提供了其他js类库的CDN,比如EXT Core、jQuery UI 、Dojo等等。

虽然 CDN jQuery 源相当的稳定,不过我们也不能保证其能随时访问,所以我们还要给它另外一个选择,让它根据条件加载 jQuery,加一个备用源,如下:


也可以这样写:


其中第二个地址可以换成你本地的 jQuery 以保证链接稳定性。这样的意义是:先去加载谷歌的jquery库文件,如果加载失败那么就加载微软的 jquery 库文件。如果加载 google jquery 成功则会忽略后面的微软 jQuery 代码。

Continue reading...



about me

  • 陶之11's Blog Name:陶之11 OICQ:14779023 Site:Pao11.com

分类

快捷入口