日期 : 2010年05月25日分类 : 代码作者 : admin
下面是在anyjs中JSON跨域的实现(JSONP),原理很简单,动态生成script标签,没有使用到callback(可支持),需要与后台协调保持对象一致,anyjs默认采用JSONP。
01 anyjs.gjsonp=function(url,callbackfn){
02 var h=document.getElementsByTagName(‘head’)[0];
03 var s=anyjs.create(‘script’);
04 anyjs(s).set(‘type’, ‘text/javascript’).set(‘src’, url);
05 anyjs(h).apd(s);
06 if(anyjs.ie){ //IE6+
07 s.onreadystatechange = function () {
08 if (s.readyState == ‘loaded’ || s.readyState == ‘complete’) {
09 (callbackfn)(JSONP);
10 JSONP=null;
11 anyjs(s).rmv();
12 }
13 }
14 } else {//GECKOS、WEBKIT、ETC..
15 s.onload = function() {
16 (callbackfn)(JSONP);
17 JSONP=null;
18 anyjs(s).rmv();
19 }
20 }
21 return false;
22 };//end
使用anyjs跨域调用示例:
01 //JSONP跨域测试开始
02 $(“#jsonp”).click(function(){
03 y=$.create(“div”);
04 $(y).set(“id”,“bglay”).set(“class”,“bglay”);
05 $(“body”).ist(y);
06 x=$.create(“div”);
07 $(x).set(“id”,“ajax”);
08 $(x).set(“class”,“ajax”);
09 $(“body”).ist(x);
10 $(“#ajax”).show();
11 $.gjsonp(“http://www.focusstudio.org/data.php?type=jsonp”,function(data){
12 var arr=[],str=“”;
13 for(var i=0;i<data.length;i++){
14
15 arr.push(data[i].a);
16 str+=data[i].b+“|”;
17 }
18 $(“#ajax”).h(arr.join(“‘”)+str);
19 });
20
21 $(“#ajax”).click(function(){$(“div.bglay”,“#ajax”).fout();$(“div.bglay”,“#ajax”).rmv();});
22 });
23 //跨域jsonp测试结束
后台相关代码:
1 <?php
2 header(“Content-Type:application/x-javascript; charset=utf-8″);
3 $callback = isset($_GET['callback']) ? $_GET['callback'] : ‘JSONP’;
4 $json=array(array(‘a’=>‘enimo1jsonp’,‘b’=>‘test1jsonp’),array(‘a’=>‘enimo2′,‘b’=>‘test2jsonp’));
5 echo ‘var ‘.$callback.‘=’.json_encode($json);
6 ?>
到这里,要实现动态加载js脚本,我想大家应该不言自明了吧。
Tags : anyjs, json, jsonp, 技术
日期 : 2010年05月23日分类 : 代码作者 : admin
下面是在校毕业生专题中实现lightbox效果的代码,兼容目前主流的FF/Chrome/IE6+,效果简单基础,如果看起来比较乱,希望见谅。
01 <script>
02 window.onload=function(){
03 $(“img”).each(function(i){
04 $(i).click(function(){
05
06 /* y=$.create(“div”);
07 $(y).set(“id”,”bglay”).set(“class”,”bglay”);
08 $(“body”).ist(y);
09 x=$.create(“div”);
10 $(x).set(“id”,”ajax”);
11 $(x).set(“class”,”ajax”); */
12
13 $(“#bglay”).show();
14 $(“#ajax”).show().h(“<img src=’images/load.gif’ /> 正在加载….”);
15 var anyimg=new Image();
16 anyimg.src=$(i).get(“src”);
17 anyimg.onload=function(){$(“#ajax”).h(“<img src=’”+anyimg.src+“‘ alt=’点击关闭’ width=’500′ border=’0′/>”);}
18
19 return false;
20 });
21 });
22
23 $(“#ajax”).click(function(){$(“#bglay”,“#ajax”).hide();});
24 }
25 </script>
26 <style>
27 *{margin:0;padding:0;}
28 #ajax{
29 position:fixed;
30 _position:absolute;
31 left:50%;
32 top:100px;
33 _top:expression(document.documentElement.scrollTop+100+“px”);
34 width:500px;
35 margin-left:-250px;
36 border:2px solid #ccc;
37 color:#696969;
38 z-index:99;
39 background-color:#fff;
40 display:none;
41 }
42 #bglay{
43 position:fixed;
44 _position:absolute;/*ie6*/
45 z-index:2;
46 overflow:hidden;
47 top:0px;
48 left:0px;
49 width:100%;
50 height:100%;
51 background:#000;
52 opacity:0.7;
53 filter: Alpha(opacity=70);
54 display:none;
55 }
56 </style>
有时间再陆续将几个常用web2.0效果实现,放在这当做学习笔记吧。
Tags : anyjs, js, 技术
日期 : 2010年05月22日分类 : 生活作者 : admin
据说spirit5月3号放出的破解,前段时间一直没闲着,今晚把该做的工作做完,准备是时候将touch越狱了,有时间好好捣鼓捣鼓。
有了spirit,越狱过程十分之简单,也不需要备份机器里的资料,并且已经是完美破解,威锋上有详尽教程。


最后加上了cydia的源,weiphone源,tgbus的源。
接着装GoodReader了,看PDF文档特别方便,之前只能放五个文档,终于可以解放了。
用winterboard可以更改为自己的主题,看着舒服多了,僵尸大战。。。
还有,如果在使用iphoneBrowser/iFunBox等进行文件管理时,要获得系统文件权限(修改系统文件),需要安装afc2补丁,只需打开weiphone源,搜索afc2补丁,安装即可。
Tags : touch, 生活
日期 : 2010年05月1日分类 : 生活作者 : admin
Tags : 娱乐, 生活
日期 : 2010年04月10日分类 : 工作, 生活作者 : admin
啥也不说了,收获很大,这次请的月光营地,效果很好,上图:



希望这一天对于同志们对于月光营地,都会留下很好的记忆吧。
PS:
附上在4月25号比特工场开展的素质拓展,篮球全场,技术团队里大都男生,除了偶尔熬夜,咱们也经常运动,可为什么看起来总有那么一点点‘衰’呢?


未来不是梦!
Tags : 工作, 素质拓展