手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:Javascript

jquery mobile 1.0终于发布了

其实这很正常,也不意外,这么久了。。。也该正式版了
不过,jQueryMobile里我想找那个DoubleTap事件也没有好好找到。可能是我没有仔细关注吧?
然后一些clientX移动的事件,也不是特别的爽。。。
OK,去官网看看吧,http://jquerymobile.com
官方说这次正式版的性能提高了很多,在这里有一张图片:http://jquerymobile.com/blog/2011/11/16/announcing-jquery-mobile-1-0/
demo其实也能看,不过要好效果的话,还是建议使用webkit核心的浏览器:Demos & Documentation

Tags: jquerymobile

IPAD 上的Safari 中的一些小问题

今天在为ipad上的一个图片加上点击效果,在safari浏览器里一切正常,但到了ipad上,点击效果就死活出不来。
折腾了很久我才发现,我原来的触发的一个效果是写在a标签上的,也就是说,它是一个链接,然后onclick效果就起作用了。
于是我CreateElement了一个a,为它加上了onclick效果,果然,起作用了。。

------------
事实上很多人都和我说,div是有onclick事件的,嗯,我用Safari也测试确实有,但就是在ipad上无法实现。好吧。我承认我烂,可能是。。。。
可是我都一一在代码中测试了。
附上我那恶心至极的代码 (这是其中的一段,纯备份了):

JavaScript代码
  1. function ee(elem,popLayer) {  
  2.     var e = document.createElement("a"),scb=popLayer[0].querySelector('.showCaptionBody');
  3.     e.setAttribute("href""###");  
  4.     e.style.cursor = "pointer";  
  5.     e.style.position = "absolute";  
  6.     e.style.zIndex = 9;  
  7.     e.style.display = "block";  
  8.     e.style.right = "3px";  
  9.     e.style.bottom = "3px";  
  10.     e.style.width = "16px";  
  11.     e.style.height = "16px";  
  12.     e.style.backgroundImage = "url(data:image/gif;base64,R0lGODlhEAAQAIAAAMzMzP///yH5BAAHAP8ALAAAAAAQABAAAAIahI+py+0RHILy0Aoug7zH5HnPV2mSOWLqihUAOw==)";  
  13.     e.onclick = function() {  
  14.         var s = document.createElement("img");  
  15.         s.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNXG14zYAAAElSURBVEiJ1ZZNioQwEIVfhiYXqtmIIIokJxaRuEgOYM7hCdxas2gMbWKrDJ1FF9SmKr7PpJ4/gpmRMx4AIISYcogz8+9PDuHXeERE+oSoEMIfAtZ1/YT+LuId5AXk2MFuyOu67lJKiaIokvqWRVFASpnU3wKYeZdEBO89yrJMemVZwnsPIkp6iEUBTACmZVk4TiJiAExEp7XX3PSY+XoGzjnUdQ3vPaqqAoBw5865y7ndcpG1Fk3TwPunvYkI1tpbrvu3i+6uvQVQSoVjAZ5H1LYtxnG8BJy6iJl34sYYGGOCu5RSh9e8BcR+1loH8WEYQn0YhgDRWt9/DuKFm3jf90mv7/sAOQOczmCe58P6Fl3XnfYTwFe+7LIDBDN/9zdZ5P5t+QPZ7357iXsw1QAAAABJRU5ErkJggg==";  
  16.         scb.innerHTML = elem.innerHTML.split("\n").join("<br />");  
  17.         scb.removeChild(scb.querySelector("a"));  
  18.         scb.appendChild(s);  
  19.         popLayer[0].style.display="block";  
  20.         popLayer[0].querySelectorAll(".closeShow")[0].onclick = function(){  
  21.             popLayer[0].style.display="none";  
  22.         }  
  23.     };  
  24.     elem.appendChild(e);  
  25.     delete e;  
  26. }  

阿强说,是因为div没有宽度和高度,我说是100%,他说100%的话就是0。
好吧,我不是前端,我开始的时候没明白,但我没有时间来处理,我也没有空设定固定宽度,因为要考虑横竖屏。。所以先用临时方法替代了。

Tags: ipad, safari, javascript, onclick

前端开发大众手册

很明显,这段内容是ctrl+c,ctrl+v而来的,做备份和资料查询用,挺好的。
原文来自:http://www.chencheng.org/blog/2008/10/25/f2e-manual/#f2e-manual-s1

快捷导航:

另外还搞了个Firefox插件《前端开发工具集》,把资源整合到一个菜单下,方便查询。数据放在线上(Google AppEngine),速度应该会有保证,更新也会比较方便。

在线工具集

常用Firefox插件

IE下的调试工具

  • Fiddle2 —— 非常强悍的一款http流查看工具,默认支持IE,其他浏览器可以设置将{Document}\Scripts\BrowserPAC.js设为代理进行使用。Firefox下可用上述”Fiddler 开关”进行快速切换。支持插件
  • IE Developer Toolbar —— 查看元素、禁用缓存、禁用CSS\JS、Outline元素、查看生成的源码等功能,IE8自带了一个加强版的。
  • Microsoft Script Debugger + Companion.JS —— 调试JS用,虽然报错还是有误差,但是我已经满足了。安装顺序是:Microsoft Script Debugger,Companion.JS,在”IE选项-高级”里取消禁用脚本调试
  • 多版本IE共存两种方案:
    • IE7/8 + IE Tester —— 大众型配置,可以基本满足日常需要。
    • IE6 + Internet Explorer Collection —— 在IE 6用户占绝对优势以及IE 6神奇bug满天飞的时代,我还是推荐这种方案,因为只有神奇的原装IE 6,才能抵挡运营神奇的问题。另外如果还有其他机器可供支配的话,建议再装个IE 8 + IE Tester,因为IE 8下的Developer Toolbar还是有很大改进的,调试起来会方便一些。
  • 以下三个软件相对不重要些:

参考手册

批处理工具

IDE及其他工具

Bookmarklet(右键另存)

开发者社区及权威网站

推荐订阅的博客和网站(排名不分先后)

------
看了上面的内容,其实可以感觉得到国内的站点是什么样的。个人博客中还是有很多人研究一些东西,但走来走去,还是那些人的小圈子。你说呢?
如果你打不开原文地址的话,那么我就不得不说几句了,有时候,有个个人博客还是很有用的。
1、记录自己的开发心得,用与和其他人交流
2、摘抄一些信息,用于做数据的储存
3、也正是有了博客,除了做交流外,还能赚一些域名费和空间费(当然,我的服务器是我自己买 的和托管的,巨亏啊)

Tags: 前端

Javascript判断横竖屏

最近在做ipad上的网页处理的时候,经常需要切换横竖屏。于是找了一下资料,写了一个简单的判断:

function check(){
     var s,screen = (window.innerWidth > window.innerHeight) ? "portrait" :"landscape";
     if(s!=screen){
         s=screen;
         alert(s);
    }
}
然后在document.addEventListener("DOMContentLoaded",function(){
     //在这里加入
    window.addEventListener("orientaionchange",check,false);
    //然后就是很重要的一句:
    setInterval(check,300);
})

为什么要用setInterval,就是因为每一次切换都要迅速判断,因此不得不用setInterval,否则第一次判断后就不会再处理了。。

Tags: javascript, ipad

CoffeeScript

在博客园看到有人在介绍CoffeeScript,以前仿佛看过类似的东西。所以去官方看了一下,结果发现现在的代码是不是都在追求所谓的语义化?
比如你看这一段 :

mood = greatlyImproved if singing  if happy and knowsIt   clapsHands()   chaChaCha() else   showIt()  date = if friday then sue else jill  options or= defaults 
然后所谓生成后的代码就成了这样:
var date, mood; if (singing) mood = greatlyImproved; if (happy && knowsIt) { clapsHands(); chaChaCha(); } else { showIt(); } date = friday ? sue : jill; options || (options = defaults);
看到上面的这段生成后的代码,再对比一下原来的写法,是不是觉得很有意思?
再来一段长的:
grade = (student) -> if student.excellentWork "A+" else if student.okayStuff if student.triedHard then "B" else "B-" else "C" eldest = if 24 > 21 then "Liz" else "Ike"
输出之后就是:
var eldest, grade; grade = function(student) { if (student.excellentWork) { return "A+"; } else if (student.okayStuff) { if (student.triedHard) { return "B"; } else { return "B-"; } } else { return "C"; } }; eldest = 24 > 21 ? "Liz" : "Ike";
越来越发现,原来写伪代码也可以转换成代码。而且看上去也不错,有点象zen coding了。现在很多IDE都支持zen coding
不知道这次这个coffeescript什么时候会被支持
官网:http://jashkenas.github.com/coffee-script/
但是对于用户来说,有一点压力,因为它还是会有一些学习成本。