Seajs中的传入参数require为什么不能改名 Seajs的require本质

作为函数的传入参数,名字当然是可以修改的,比如Seajs中的function(require, exports, module),require理应可以改名成r/req等等,但改名之后你会发现函数体中所require的模块没有被加载,为什么?
阅读全文 “Seajs中的传入参数require为什么不能改名 Seajs的require本质”

Android 开发中遇到的 Can’t create handler inside thread that has not called Looper.prepare问题

Android开发跟Web开发比起来,真是复杂很多,难怪Phonegap能获得成功,下一个Android爆发点一定是开发模式上的变革,类似于Servlet向JSP的转换。回到这个问题上,在UI中如果需要从远程端的服务器获取数据,为了防止UI无响应,我们常会用AsyncTask之类的方法拿数据,然后在UI上摆一个loading spin。当拿到数据并处理后,我们会迫不及待的给UI一些回应,比如Toast一个结果,如果此时app FC,我们会在debug window上看到Can't create handler inside thread that has not called Looper.prepare这样的异常。是什么造成这个问题呢? 阅读全文 “Android 开发中遇到的 Can’t create handler inside thread that has not called Looper.prepare问题”

IE10 在 Windows7 上无法启动的解决方案

由于之前IE8的开发工具有问题,无法在IE中调试一些IE特有的问题,所以借着M$推送Win7 IE10的机会升级了IE10,在重启电脑之后,IE的图标得到了更新,显得圆润了,点下去,靠,竟然无法开启IE了,试着启动Maxthon2,也打不开了。 阅读全文 “IE10 在 Windows7 上无法启动的解决方案”

Android开发 OnTouch方法中无法接到 ACTION_MOVE事件的原因

在写Android程序时,想给控件定义Touch响应动作,但每次只能接到MotionEvent.ACTION_DOWN事件,无法接到MotionEvent.ACTION_UP和MotionEvent.ACTION_MOVE,例子也是从网上抄来的,难道要去问元芳?当然,最后还是得问谷歌,原来onTouch函数是有boolean返回值的,只有返回true时才能达到预期的效果,因为DOWN是Touch事件的开始,如果返回false,后面的UP和MOVE动作就不能被触发了。
网上有很多例子写的是return super.onTouchEvent(event); ,这样做不太保险,因为super.onTouchEvent(event)未必返回true的。

jQuery Mobile的Listview在刷新动态内容时报错的解决方案

在玩jQuery Mobile时需要动态向Listview添加内容,但内行都知道,新增的内容是不带mobile样式和效果的,需要调用mobile提供的刷新函数,对于Listview,需要调用listview(‘refresh’),但是,在测试时会得到jQuery Mobile抛出的如下异常信息Uncaught cannot call methods on listview prior to initialization; attempted to call method 'refresh',在stackoverflow上也有不少人问,但都没有说到点子上。
阅读全文 “jQuery Mobile的Listview在刷新动态内容时报错的解决方案”

Content-Security-Policy问题的解决方案,Chrome插件开发技巧

在写新插件时,发现Options页面报如下错误“Refused to execute inline script because of Content-Security-Policy”,之前所写的插件都是用Popup页面,从来没有遇到过这样的问题,看来Options页面的权限似乎是高了很多,经过多方查找,解决方案如下。
阅读全文 “Content-Security-Policy问题的解决方案,Chrome插件开发技巧”

Android模拟器无法播放声音,铃声只能设静音的解决方法

万能的Android模拟器理应什么都行,可偏偏不能播放声音,调试Notification时听不到预设的声音,到声音菜单里一看,竟然都只能设静音。去网上翻了一通也没有答案,结果还是让Magic哥自己找到了。
阅读全文 “Android模拟器无法播放声音,铃声只能设静音的解决方法”

Chrome浏览器扩展Extension开发技巧,文件影响的范围

常见的Chrome扩展包括了定义文件(manifest.json),后台文件和弹出菜单,在调试自己开发的扩展时,初学者往往会遇到新修改的代码不起作用的问题,或者每次调试都需要重新加载扩展的麻烦。Magic哥也遇到过类似的问题,希望下面的经验能够节省入门者的时间。
阅读全文 “Chrome浏览器扩展Extension开发技巧,文件影响的范围”

浏览器之争,成败在于成熟,抛弃Maxthon,改用Chrome

Maxthon是从十几年前的1.0开始用的,那时类似的IE外壳似乎是只有这个,所以觉得这个很好、很强大。时过境迁,如今类似的程序已经烂遍街了,世界之窗、绿色浏览器、不务正业的腾讯TT(希望给人以安全的感觉吗?)、名声不好的360的SE(从来没让人感到过安全)等等,国人的抄袭精神表现的淋漓尽致,不知道Maxthon是否提前申请足够的专利了。

再看看自主内核的浏览器吧,IE就不说了,Firefox已经似乎是廉颇老矣,Safari是果粉的专有,应该很少有人在Windows上用,Opera似乎转攻移动设备了,需要特别提到的是手机上的欧朋的升级提示很讨厌,Chrome算是后起之秀,看看蒸蒸日上的市场占有率就知道了。再有就是Maxthon3了,没错这一版开始不再用IE了,改用WebKit了,这真是成也萧何败也萧何,接下来让我好好念叨一下。
阅读全文 “浏览器之争,成败在于成熟,抛弃Maxthon,改用Chrome”