2014-12-17
今天算是认栽了,自己给自己栽了。
$('#cc').combobox({
valueField:'id',
textField:'text' ,
url:'combobox_data.json'
});
我第一反应,id,text感觉好亲切,就以为是框架的默认字段,从此走上了不归路。花了我一下午时间,咦,怎么获取不是值,是不是框架有bug,然后就去改框架,改来改去也不见成效。
后来debug,发现有一个参数是undefined。才知道原来这个不是默认的。但也奇怪了,不是默认的但居然能够显示出来。在combobox。可能是他们的代码设计不统一吧,有些地方能识别,
有的不能。
2014-12-18
设计框架的时候,当取得的值是一个null的时候,是应该填充一个看似合理的值呢?还是直接弹提示或是异常。?
今天遇到的,department.combobox('select', dep_id); 然后出现的情况是,combobox上显示的是一个数字,我又错误的以为是option里面的value值。又错误地以为是框架bug。
后来才发现,这个数字就是dep_id。框架在搜索所有选项的时候,没有找到值为dep_id的选项,然后它就武断地把这个值显示在上面了。其实我觉得它如果提示,在执行selectxxx的时候,
没的找到value值为xxx的选项。这样的提示会更快让我发现我哪里写错了。我觉得提示可以让我们更快地调试。
2014-12-26
本来是应该弹出个对话框的,在IE上却弹出了个
[object Object]
我还以为IE不支持easyui呢,纠结了好久。后来想,是不是语法写错了
把
<a href="javascript:$('#dlg').dialog('open');">[切换]</a>
改成
<a href="javascript:void(0);" οnclick="$('#dlg').dialog('open');">[切换]</a> 就好了。囧。
还遇到过reload()后没有执行ready事件的情况。
(当时以为没执行,其实是执行的了。所以说debug要一步一步来,有些事你以为是这样,再寻常不过了,但事实上却不是。)
后来发现是IE的ajax缓存机制,它认为url是一样的,就不发送请求了。(万恶的IE,别的浏览器都正常发送,就你搞特殊)
后来就在url请求中加了&t= + Math.random() 才搞定。
2015-1-5
想不到搞了这么多年的java(其实也是2~3年),居然栽在了环境变量上。
今天用命令行编译和执行简单的java测试代码,居然报 错误: 找不到或无法加载主类 Main
然后我是各种怀疑,32位和64位不兼容?编码不对?程序写错了?
后来百度中无意间看到环境变量中要加 .; 这样才会去搜索当前路径。囧。
2015-1-20
以前听ck说过,浏览器会把#后面的东东当文件读求,今天还真遇到了。
浏览器控制台显示404,有一个文件没找到,hammer.min.map ,奇怪,没用过这个文件呀?
后来在hammer.min.js文件中找到最后一行
//# sourceMappingURL=hammer.min.map
删除就没事了。
2015-03-17
今天把var time = Date.parse(date); 写成了 Date time = Date.parse(date); 感觉自己没救了。错误提示也不明显,找了好一会儿才发现。
2015-06-11
Not enough room on device for image headers.
昨天备份系统时,提示空间水足,我选的D盘明明还有很多空间,奇了怪了。无意间我看电脑上插了一个u盘,就它是快要满了,难道它把d盘认为是u盘,
我把u盘插了,果然好了。
2015-07-11
不知道为什么,点提交后,有时候输入格式不会,输入框里面的数据会清空,相当头痛,我又没有写相关清空的代码,为什么页面自己会清空呢,
我开始以为是$.get请求报错了,造成页面清空,后来发现,如果格式不对,根本就执行不到$.get请求那去,但还是会清空,唉 ,伤心。
<a class="header_right po" href="" id="submit_btn"><span class="fcolor">提交</span></a>
仔细一看,提交按钮外面包着一个<a>标签,看仔细一看,href=""为空,我瞬间明白了什么。 原来点提交的时候,事件冒泡了,也相当于点了<a>标签,
<a>标签不写地址(href)属性还好,写了这个还加了空字符串,有的浏览器就认定它为本页面,就跳转到本页面,能不清空吗?? 把 href="" 去掉问题就解决了。
2015-07-13
原来微信开放平台app的名字是不能重复的。如果重复了,要把原来的应用删除,然后立该就能注册了。
微信审核慢的话,要第二天才有结果,如果你早上提交,快的话可能当天就通过了。
原来要通过开发者资质认证才有登录权限,否则只有分享权限。开发者资质认证需要300元。
2015-07-16
苹果电脑真的高大上呀,我在导证书的时候,遇到要填 App ID Description 的时候,网上搜到的教材都是一笔带过,我用苹果浏览器的时候,下面
显示了一排红色的小点点,我以为是格式不对,就卡在那里了,我居然还大费周章地去看说明,什么填前辍,什么后辍,什么分隔,害我好惨,后来用谷歌浏览器注册,
才知道,那几个点真的是忽悠人的,那个地方真的随便填。
今天遇到的时候才叫奇葩,本来今天目的很简单,就是提交app申请,我居然花了大半天没有找到入口,超级郁闷,按常理那个图标应该是非常明显的,只是不是瞎子就能看见的呀
我打开是这样的
死活找不到添加app的地方,
后来问了一个同学,才知道,别人打开是这样的
我当时就晕倒了,难道是浏览器不兼容?难道是ip被限制了? 网页的差别没这么大吧? 人品?
后来才知道,苹果发布了新的协议,只有同意了,才能使用这些功能,好吧,第一次用就遇到这种情况,认栽吧。
2015-07-17
今天提交app到苹果应用商店又遇到了点问题,我用安卓手机的屏幕截图,它说尺寸不对,我用苹果手机截图也说尺寸不对,
点那个小问号,才知道有分辨率要求的。后来尺寸好了,又提示“图像不能包含alpha通道或透明度”,后来我直接把png转成了jpg,
就ok了。我以为4个不同大小的尺寸都要传,后来听朋友说只要传3.5英寸和4英寸就可以了。
2015-07-20
本来以前用js字符串的方法,总习惯去w3cschool查一下方法名怎么写,随便看一下用法,但今天网特别的卡,打不开,等不及了,
就自己猜方法,这次真猜错了。一直以为获取子串直接用substr嘛。参数应该是第一个字母开的位置和最后一个字母结束的位置。后来总是调不通
原来substr的参数是start,length 而 substring的参数才是start, end。又中奖了。
2015-07-21
原来微博广场审核已关闭了。只要app通过审核就算是上线了。
驳回理由:您好,广场审核已关闭,现在只要通过普通应用审核,应用就已经上线,所以无需再提交广场审核。请您放心使用。
原来通过审核后,还要到“应用信息”-》“高级信息”里设置OAuth2.0 授权 , 设置好了,微博分享的登录才能用。
可以用默认地址"https://api.weibo.com/oauth2/default.html"
2015-07-22
qq开放平台太坑人了。以前提交了一个应用,被驳回了,驳回的理由是没有发布新闻和开网上商店的权限,说要提供资质证明什么的。懵了。
过了好久,同事提交了一个app,当天立马就通过了,内容和我原先那个差不多。然后我就把原来的app什么内容都没改,再提交了一次,第二天居然通过了。
2015-08-11
苹果v0.0.5版的5号就通过了,上面也显示上架了。可是一直在app store里显示的是旧版的,昨天在itunesconnect.apple.com上修改了一下“定价”的东东,
也不知道改了哪些地方,今天app store居然更新到0.0.5版了。。。
用swipe做的图片轮播,当只有两张图片的时候,就出问题,困惑了好久,今天看源码,居然找到原因了,把它注释掉就好了。
if (browser.transitions && options.continuous && slides.length < 3) { element.appendChild(slides[0].cloneNode(true)); element.appendChild(element.children[1].cloneNode(true)); slides = element.children; }
2015-08-14
又一次死在了加载完才能执行的问题上。
var ue = UE.getEditor('container') ue.setContent('hello');
要修改为
var ue = UE.getEditor('container'); ue.ready(function() { //设置编辑器的内容 ue.setContent('hello'); });
2015-08-18
越来越不知道浏览器想干嘛了。今天写几行iframe取值问题一直没有结果,网上查的资料都很明确了呀,为什么我这边就不行呢?
iframe访问父页面 window.parent可以得到父页面的window, window.parent.document可以得到父页面的document对象。
$('#id', parent.document).val();
访问iframe里面对象 document.getElementById("ii").contentWindow 得到iframe的windows对象
$("#ii")[0].contentWindow.$("#dd").val()
其实浏览器一直在报 Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
这个错误,当时也没在意,毕竟不是代码问题,当时也以为本地访问本地,应该是有权限的吧。
后来启动Tomcat后,把那两个静态文件复制进去,再访问,就正常了。
晕死,浏览怎么了,就为了在本地调试一下就没这么权限吗,还一定要启动Tomcat吗?太麻烦了。
通过在快捷方式中修改
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security
加了一个放开权限的参数,就可以不启动Tomcat就能访问了。
2015-09-08
原来在定时任务(QuartzJobBean)里找不到springBean是因为没有把这个类加到spring的搜索字符串中。
今天遇到本来字符串是正常的,但是save数据的时候报错,说里面有\xE5\x8E\x9F\xE6\xA0\x87这样的编码。后来才知道,我建的表里面的字段是latin1的编码。改成utf-8就好了。
2015-09-13
原来apicloud里面的weibo配置项中的registUrl是必须要填的,要不然不让登录。而且要填你在open.weibo.com里配置的内容。
2015-09-14
还是JSEncrypt好用。
2015-09-16
文档最后那个红色的o表示不是必填的。但实际上是必填的,害我走了好多弯路。不写的话会报NullPointerException异常。如果写上NotufyUrl=""填一个空字符串就不报错了。
post提交的时候,数据中有出现=,需要用encodeURIComponent转一下码。(不能用escape,encodeURI)
2015-09-25
原来数字1和字符1加密的结果是不同的。
2015-10-10
本人眼已瞎。原来微博是可以绑定多个Bundle ID的,我居然没看到。只在意那个红*了。安卓还可以绑定多个包名和签名。微博真的太人性化了。赞一个。
2015-10-11
原来微博安卓上可以分享,iphone上不能分享的原因是,分享的logo图片太大了。
2015-10-31
原来apicloud的苹果一健真机测试是可以的,只是有些版本的itunes不支持。在论坛里查了下,11.4可以用。下载地址:http://www.itunes123.com/lishi/
后来我下载后,安装到一半,出错了,就回滚了,网上查可以用360的诊断功能。还真把它解决了,看来360还是有点料子的。
2015-11-01
唉,好变态,有些框架滥用了!important;导致我的一些css本来不用加!important;的,也只有加了它才能真正的有效果。
zepto和mui如果同时引用,$('#id').on('tap',function(){});里面的内容会执行两次,用click就不会,可能是zepto和mui都去绑定了一次事件。
2015-11-03
用jsoup的时候,网页中常常用到 这个特殊字符,对应到java是int值为160的char。即 char c = (char)(160)
2015-11-20
原来一行的超过部分打点是需要white-space: nowrap;这个样式的。
2015-12-12
类型判断的坑,终于遇上了一个,一直习惯用isReload==true,发现是错的。
localStorage.setItem('isReload', true); var isReload = localStorage.getItem('isReload'); alert(isReload=='true'); //true alert(isReload==true); //false
$('#nav_menu').width(api.winWidth);设置没有生效。后来随便写一个数字100生效了。发现原来是因为api.winWidth返回的是一个字符串类型,width只接受数字,真挑食。这样我们要手动转换parseInt(xxx, 10);后面加一个数字10指明十进制转换是个好习惯。以前做开发的时候就遇到过没有加10,然后输入010这样的八进制格式的就出乱子。
2015-12-22
原来困扰多日的iscroll.js在魅族metal上透传的问题。(可能透过前面的看到后面的旧数据)。今天才发现原来是硬件加速的bug。参数里把HWCompositing: false改了就ok了。
2015-12-26
苹果浏览器audio如果设置为autoplay="autoplay",但是浏览器并不会自动播放。
还有,如果你设为autoplay="autoplay",然后调用obj.play()也不会播放。
只有去掉autoplay="autoplay",然后调用obj.play(),等一会儿,就能听到声音了(长短取决于你的网络)
2015-12-27
js日期的set不可变性。记得要用返回的日期,而不是当前的obj var date_new = date.setxx();
2016-01-14
原来服务器要娇嫩得多,如果有多个同一个包存在的时候会有冲突,但本地测却没有问题。
2016-01-15
同一个问题,中招两次。config:fail
微信jssdk开发中,要生成signature。这个提示也太简单了吧。我开始以为会不会是加密错误了,或者是微信没有开通权限(绑定域名)。
后来打映参数的时候才发现,属性名写错了,然后取出来是null的。
第二次遇到是get到的data是字符串,通过JSON.parse()才能读到对象。原来前端会根据服务器返回的类型比如json,text来返回不同的类型。
一些错误提示:
config:invalid url domain 非法域名
config:invalid signature 签名不对。
2016-01-20
在做微信分享的时候,发现微信好友分享可以,qq好友和qq空间不行,折腾了好久,原来忘记在jsApiList里加权限了。
2016-01-30
用mysql front导数据的时候,总是断,后来改用了Navicat一下就导成功了,还是Navicat好用。
2016-02-06
项目中要用到排序,排序有一个优先级,使用的是一个map,我以为
ccd.put("topSeq", true); ccd.put("orderSeq", true);
这样的话,topSeq的优先级应该比orderSeq的优先级高,因为它先放进去呀,但实际上它是按map默认的排序顺序(也就是map遍历Key的顺序),
后来我改用了LinkedHashMap才有效果的,因为LinkedHashMap是有顺序的map。
2016-02-20
原来用jad反编译出来的java文件是不带注解的,搞得我想了好久没想明白框架的启动过程。
2016-04-09
今天看代码的时候,正好看到一个自定义hashCode,按它的算法,分分秒秒会超过int的最大值,我以为会报错,最近试了一下,int超过之后就变为负值了,并不会报错。
2016-04-21
又中招了,jsp一直报错,我开始以为是${templateCode}的语法有错,但是看别人写法也是这个,然后我还查有没有值,然后还把变量放到request里面。都是失败了。
后来才发现,原来是和<s:form>有冲突,<s:form>里面就不能有${templateCode}表达了。
我说$怎么用不了,原来是被屏蔽了。都是它 jQuery.noConflict(); 的错。
2016-04-26
今天系统升级,服务器启动报错,提示说找不到一个类,然后我就在本地查找,发现服务器是有这个架包的,超郁闷地说,还以为自己的配置文件写错了,无意间发现服务器
那人架包才8M,而我本地的那个架包有60M,果断替换试了一下,居然可以了。。。。喜极而泣
2016-04-30
今天遇到两上作死的bug。第一个是用$.ajax请求总是进入error而不是success处理语句块。以前是ok的,我开始怀疑是不是我参数传错了,或者是本地有js语法错误,后来
发现都不是这个原因,我用fiddle抓包看,状态也是200呀。不应该进入error的呀。后来就想试试请求一下www.baidu.com试试会不会也会进入error,在想试的一瞬间,终于开窍了,
我想,请求百度,百度应该不是json格式的,应该会报错,然后想一想,会不会是我的json格式不对,后来一看,虽然,有一个地方是0000,最外面没有引号。服务器加上引用就ok了。
原来如果定义了返回格式为json的话,js解析不了的时候,也会跳到error里面。唉,伤得体无完肤,好歹ajax返回的错误里也要提示一下json格式错误吧。
还有一个bug,后台提示java.lang.StringIndexOutOfBoundsException: String index out of range: 0 第一眼一看,应该是一个很简单的bug。后来定位到报错的语句块是
createQuery(hql, values).list(); 然后我就看hql,正常呀,values参数的个数也和里面?的个数一样,list()方法里面的就是class的内容了,bug不到了。想了好久都没想通。后来下班
在地铁上想,会不会实例化entity的时候,某些字段做了substring这样的操作,回家一看,没有呀,真是奇怪,最后看实体entity.java的内容的时候,发现它有一些关联类,比如资源类
然后我就到资源类的表里查,果然是里面的数据不对,缺了几个值。看来我最初的时候,真的没有仔细看打印的错误日志,以为框架打印的是没有用的信息,其实有时候,框架打印的日志
也是可以帮我们去判断错误的。(第一直觉是只有自己的代码才会有错误,框架是不会有错的,所以容易忽略框架打印的日志信息)。
2016-05-09
5 rem; 只有5和rem之间有一个空格,它就不生效了,好挑剔。
2016-05-16
今天遇到一个奇怪的现象,用html的时候<div>和</div>之间没有写东西,系统就没这个样式的表现,直接忽略它了,硬是要我加上<div class="vod_radio"> </div>这个空白字符 才有样式显示
.vod_radio{
width: 18px;
height: 18px;
float: left;
background: blue;
margin-left: 50px;
}
2016-05-18
今天遇到了var mySwiper = new Swiper('#slider', {})如果执行了两次的话onTap事件好像一点就触发了,有时候我只是想滑动一下,它也触发了tap事件。解决办法调用update()方法
2016-05-29
原来图片和文字对齐,vertical-align: middle,图片是不能为float的。
ios上一个很奇怪的bug
div.photo_frame{ height: 5.64rem; width: 5.64rem; overflow: hidden; } div.photo_frame:nth-child(3n+1) { margin-top: 0rem; margin-left: 0%; }
如果.photo_frame前面没有加div的话,类photp_frame里的属性是不生效的,好生奇怪。
2016-06-15
居然今天被iphone6 plus搞死了,其它安卓机和苹果机都好好的,就是这个i6plus搞特殊,ajax发送请求后,没有回调,抓报文发现,是有返回的。
后来上厕所的时候,脑袋一闪,会不会是被回收了。后来验证了,确实是页面提前被回收了,就没执行回调了。囧。01:13
2016-06-21
今天又遇到一个棘手的问题,不,应该是昨天。m3u8的视频可以在安卓手机上播放,不能在苹果手机上播放。我最开始以为是注入的问题,以前遇到过,只要不是注入的视频,不能播的情况很多。可是听组里的人说,最近加的视频,
基本上都是注入进来的。但我并没有有效的办法证明它是不是注入的。然后我就沿用老方法,先用getplayurllist获取播放串,然后再用老接口getplayurl获取播放串,如果老接口的能播,新接口的不能播,那一定是新接口有问题(以前就出
现过老的能播,新的不能播,然后排查到新的接口生成播放串的规则有问题)。后来发现都是不能播了,这条路走不通。
后来想,以前只要是有效的播放串,放到苹果浏览器里是可以直接播的,这个方法一直是我验证m3u8最直接的办法,就去尝试了,发现在苹果videoPlayer能播的,和不能播的,放到苹果浏览器里都不能播,又走不通。
后来,我怀疑会不会是ts的编码格式不对,会不会它不是mp4的格式,会不会苹果不支持那种视频编码格式,后来我就在网上搜纯mp4格式播放器(就是只支持mp4播放的),还有视频文件编码信息查看器,以及用格式工厂去查看它的编码方法,
发现它们几乎是相同的。又走不通。
后来我就抓报文呀,发现苹果手机只读取了m3u8的列表文件,就没再请求ts文件了。最初是还是怀疑,播放器解析不了那个视频文件,所以就没再请求了。
后来过了好久,才拍脑袋,不对呀,它都没有请求到ts文件,何来的解析视频文件呢????
后来,我怀疑是不是有问题的播放串返回的列表文件响应体里面是Content-Type: text/html; charset=utf-8,而不是Content-Type: audio/x-mpegurl(这上是从网上标准播放串里抓取到的,我觉得它标记为视频流,比标记为text更为规范)。
然后我就硬着头皮去学习fiddle打断点呀,修改response呀,后来发现虽然能修改response了,但是它说response的字节数不对,就把里面的文本截断了。最终视频也没有正常播放。。
最终,我想要放弃的时候,
发现了一个细微的差异(事后不得不承认,感觉这个发现纯粹是运气,没有任何逻辑上的指引,纯粹像是来找茬一样的碰巧,可能是上天眷恋我吧,哈哈)。
有没有发现89特别的不协调,感觉它是一个另类,别人都是清一色的666,只是它猛大猛大。然后我就去对比,发现正常的能播的,都是比6小的或者是11(11这个数字,我目前还没想通,为什么它能正常播,按理说都要比6小才正常)。从设计逻辑来说,
应该是每个ts片都是6s,只有最后一个片,可能是尾巴,是余数,所以可能小于6。但这个89显然是不合适的。
验证奇迹的时候到了,反我刚学的用上,我就用fiddler打一个断点,然后把89改成1.啦啦啦,苹果居然能播了。
回过头来理理。
造成这种情况的可能是苹果的验查机制,苹果可以检查到89这个数字不合理,就停止继续操作了,或者说,这本来就是苹果的一个bug,说不一定,苹果遇到89或是比6大的数字(除了11这个变态)就已经在内部报错了。
所以说,还是我那句老话,
安卓能播,并不表示播放串没问题,电脑上的播放器能播m3u8也并不表示播放串没问题,可能仅仅是那些播放器的兼容性做得好,或者说它们之前也遇到这种情况,然后修复了这个不属于他们的bug。
所以说,如果想让自己的播放串放之四海而皆准,就要按标准办事呀,要不然就遇到各种奇葩的事件。囧。 1:25
2016-07-06
原来ms-include-src是需要服务器环境的。我还以为浏览器开通了文件访问权限后,就不需要服务器环境呢,弄了好久才发现死在了这里。17:03
2016-07-08
虽然apicloud配置文件config.xml里面设置了<access origin="*"/>但我测试了一下,服务器页面还是不能访问本地html的localStorage数据的。还算是比较安全的。11:33
2016-07-15
java.lang.IncompatibleClassChangeError: class com.opensymphony.xwork2.util.finder.ClassFinder$InfoBuildingClassVisitor has interface org.objectweb.asm.ClassVisitor as super class
IncompatibleClassChangeError 不匹配的类型
网上查,说是InfoBuildingClassVisitor这个类是继承类ClassVisitor的,但是实际项目ClassVisitor是一个接口,明显的jar包兼容性问题。花了我好多时间。
我之前用的asm-3.3.1.jar,后来用asm-1.3.3.jar试了一下也不行。因为struts2用的2.3.20,根据版本对应原则,我试着用asm-2.3.x.jar发现也不行。
最后崩溃了,一不做二不休,直接用asm-5.0.3.jar最高版本,居然可以了。
总结,原来struts2的版本号不是和asm对应的。切记切记 。
2016-07-31
$.ajax中设置contentType : 'application/json;charset=UTF-8',会影响post数据的提交,最好去掉。
2016-08-02
原来微信的demo也是有毒的,今天试了好久,图片上传就是不成功,也没有提示,原来是仿造demo写的那个例子有问题。
2016-08-13
日期格式化中,小写的hh是12小时制的,大写HH是24小时制的。而小写的mm表示的是月份,大写的MM表示分钟。 千万别搞错了。
2016-09-02
谷歌浏览器上localStorage.setItem单个键值只能存5242880个字符,一个字符算2字节的话,就是10M
原来还真有清空所有缓存的方法,以前怎么一直没找到呢?localStorage.clear();
2016-09-08
今天发现avalon和doT冲突。如果两个都引用的话,alert(doT.template("abc")({}));这个语句都执行不了,说什么doT未定义。
后来我换了一个位置,就是先引用doT,然后再引用avalon就ok了。啊哈哈哈哈。。。。。
2016-09-29
今天用avalon的时候,报了这个错误
warning:exception throwed in [avalon.injectBinding] SyntaxError: Unexpected token .(…)
原来是ms-click="store_check_all();"中括号里没有参数,
改成这样就ok了ms-click="store_check_all(it);" 具体是加什么看你自己在ms-repeat-it="data"里的定义了。
2016-10-12
最近电脑奇卡,打开任何程序都有可能卡顿。怀疑是硬盘问题,检查了一下,果然好了。就是比较耗时。
2016-10-22
家里电脑打不开百度二级网页,也就是不显示搜索结果,原来是因为我安装了“保护伞”(广告过滤软件)的原因。
2016-10-26
原来js调用ios方法是需要延时的,我以为我把它放在document的ready里面就可以了,我错了,只有setTimeout延时个100ms才真正的有效果。jiong
开始我看请求没有返回body我还以为是url错了,原来是我错了,我忽略了fiddle上面的提示,304,304应该是浏览器认为没有修改,就没下载body了。 0:07
2016-10-31
前几天家里电脑出现了电脑黑屏后,死活唤醒不了的情况,主机是还在运行的,发生情况随机。后来我重装了一下系统,问题解决了。万能的重装的系统。
2016-11-03
今天懵逼了,在线生成md5的时候,看到md5生成的码是分全大写和全小写的,以为是不是RSA签名也分大小写,就用toUpperCase()和toLowerCase()去转换大小写,
然后都是签名失败。后来清醒了一下,发现签名是有大写的也有小写的,所以签名为了增加信息量,大写和小写是不同的编码,如果强制转换,就不是原来那个它了。
还有在做支付宝网页支付的时候,签名是要放到url中的,其实大家都知道的,签名中是有很多乱码的(对url来说是乱码,比如=),所以签名想放到url中,先对它进行URLEncode编码。
后来发现一个很奇怪的情况,用js的encodeURI() 好像编码后没什么效果,真是奇怪,后来我们不得不改用服务器的URLEncode去编码。
2016-11-04
swiper-3.4.0还是有一些bug呀,不稳定,首先swiper发现如果它自己是隐藏的话,它就不自动滑动了,即使后来我把它设为显示。
第二个bug是,如果我开始swiper-slide大于1的时候,它是可以自动滑动的,后来我把swiper-slide的数量改为1的时候,然后update,
这时候它认为只有一个,自动不用滑动,所以它可能就取消了自动滑动的定时器,但是当我把swiper-slide重新设为大于1的时候,并且
update,但是它并没有重新启动那个自动滑动的定时器。
2016-11-10
今天尴尬了,
做着开发,突然自己手机的返回键不能用了,自己浑然不知 ,还以为自己代码写错了。搞了好久。
2016-11-16
骗子,以前我打个zepto的源码,发现才170行。由衷地佩服它精简得太强大了。今天才发现,原来它几乎所有的代码都集中在第二行,有24568个字符。。。
新学到一个很强大的linux命令: find ./ -type f | xargs touch 修改当前目录下的文件的“修改时间”为当前时间。
以前做缓存的时候,浏览器有个很奇怪的现象,打开一个页面的时候,它会试图去加载一此资源文件,如果发现试了十几个文件都是304(文件没有修改的返回状态码)。它就
放弃发送请求了。如果你修改了一个文件,而那个文件恰好不在浏览器试图去下载的十几个文件中,那它就不会和服务器同步。只会运行它本地的缓存。
所以执行上面的命令,修改文件的“修改时间”属性,就可以让它挨个更新一次。
2016-11-19
video可以通过poster属性设置视频没播放前的海报。
<video autobuffer="true" controls="true" height="280px" poster="http://14.23.85.239:7011/content-attachment/20160706/27060503069809121.png" preload="none" src="http://aiseet.lsdb.atianqi.com/app_3/OTTTV/12149150/50/playlist.m3u8?bitrate=400" width="100%"></video>
2016-11-20
以前犯的一个错,可能是用惯了jquery的原因吧,document.getElementsByTagName("html")[0] , 很少写原生的,如果少了后面的[0]就不能获取到对象。
2016-12-07
htc手机好像不兼容height:100%;它好像会把它当成height:100px;
2016-12-31
2016年最后一天,以后不再更新这篇日志的内容了,因为太长了。另起炉子再写吧。