??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲av无码偷拍在线观看,亚洲短视频男人的影院,亚洲国产精品xo在线观看 http://www.tkk7.com/wshao/category/54087.htmlzh-cn Tue, 31 Dec 2013 07:22:26 GMT Tue, 31 Dec 2013 07:22:26 GMT 60 使用jQuery解析JSON数据 http://www.tkk7.com/wshao/archive/2013/12/31/408291.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:29:00 GMT http://www.tkk7.com/wshao/archive/2013/12/31/408291.html http://www.tkk7.com/wshao/comments/408291.html http://www.tkk7.com/wshao/archive/2013/12/31/408291.html#Feedback 0 http://www.tkk7.com/wshao/comments/commentRss/408291.html http://www.tkk7.com/wshao/services/trackbacks/408291.html
在本中Q我们将使用jQueryq行数据解析。JSON数据如下Q是一个嵌套JSONQ?/p>
{ " comments " :[{ " content " : " 很不错嘛 " , " id " : 1 , " nickname " : " U_ " },{ " content " : " 哟西哟西 " , " id " : 2 , " nickname " : " 强 " }]}
获取JSON数据Q在jQuery中有一个简单的Ҏ(gu) $.getJSON() 可以实现?/p>
下面引用的是官方API?.getJSON()的说明:
jQuery.getJSON( url, [data,] [success(data, textStatus, jqXHR)] )
url A string containing the URL to which the request is sent.
data A map or string that is sent to the server with the request.
success(data, textStatus, jqXHR) A callback function that is executed if the request succeeds.
回调函数中接受三个参敎ͼW一个书q回的数据,W二个是状态,W三个是jQuery的XMLHttpRequestQ我们只使用到第一个参数?/p>
$.each()是用来在回调函数中解析JSON数据的方法,下面是官Ҏ(gu):
jQuery.each( collection, callback(indexInArray, valueOfElement) )
collection The object or array to iterate over.
callback(indexInArray, valueOfElement) The function that will be executed on every object.
$.each()Ҏ(gu)接受两个参数Q第一个是需要遍历的对象集合QJSON对象集合Q,W二个是用来遍历的方法,q个Ҏ(gu)又接受两个参敎ͼW一个是遍历的indexQ第二个是当前遍历的倹{哈哈,有了$.each()Ҏ(gu)JSON的解析就q刃而解咯?*^__^*) d……
function loadInfo() { $.getJSON( " loadInfo " , function (data) { $( " #info " ).html( "" ); // 清空info内容 $.each(data.comments, function (i, item) { $( " #info " ).append( " <div> " + item.id + " </div> " + " <div> " + item.nickname + " </div> " + " <div> " + item.content + " </div><hr/> " ); }); }); }
正如上面Qloadinfo是请求的地址Qfunction(data){...}是在请求成功后的回调函敎ͼdata装了返回的JSON对象Q在下面?.each(data.comments,function(i,item){...})Ҏ(gu)中data.comments直接到达 JSON数据内包含的JSON数组Q?/p>
[{ " content " : " 很不错嘛 " , " id " : 1 , " nickname " : " U_ " },{ " content " : " 哟西哟西 " , " id " : 2 , " nickname " : " 强 " }]
$.each()Ҏ(gu)中的function是对这个数l进行遍历,再通过操作DOM插入到合适的地方的。在遍历的过E中Q我们可以很方便的访问当前遍历index(代码中的”i“)和当前遍历的?代码中的”item“)?/p>
上例的运行结果如下:
如果q回的JSON数据比较复杂Q则只需多些$.each()q行遍历卛_Q嘿ѝ例如如下JSON数据Q?/p>
{ " comments " :[{ " content " : " 很不错嘛 " , " id " : 1 , " nickname " : " U_ " },{ " content " : " 哟西哟西 " , " id " : 2 , " nickname " : " 强 " }], " content " : " 你是木头人,哈哈?/span>" , " infomap " :{ " 性别 " : " ?/span>" , " 职业 " : " E序?/span>" , " 博客 " : " http:\/\/www.cnblogs.com\/codeplus\/ " }, " title " : " 123木头?/span>" }
js如下Q?/p>
function loadInfo() { $.getJSON( " loadInfo " , function (data) { $( " #title " ).append(data.title + " <hr/> " ); $( " #content " ).append(data.content + " <hr/> " ); // jquery解析map数据 $.each(data.infomap, function (key,value){ $( " #mapinfo " ).append(key + " ---- " + value + " <br/><hr/> " ); }); // 解析数组 $.each(data.comments, function (i, item) { $( " #info " ).append( " <div> " + item.id + " </div> " + " <div> " + item.nickname + " </div> " + " <div> " + item.content + " </div><hr/> " ); }); }); }
值得注意的是Q?.each()遍历Map的时候,function()中的参数是key和valueQ十分方ѝ?/p>
上例的运行效果:
jQuery很强大,so...更多的了解还得参考文,(ˇˍˇQ?惻I
]]> 重复提交、重复刷新、防止后退的问题以及处理方?/title> http://www.tkk7.com/wshao/archive/2013/12/31/408287.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:25:00 GMT http://www.tkk7.com/wshao/archive/2013/12/31/408287.html http://www.tkk7.com/wshao/comments/408287.html http://www.tkk7.com/wshao/archive/2013/12/31/408287.html#Feedback 0 http://www.tkk7.com/wshao/comments/commentRss/408287.html http://www.tkk7.com/wshao/services/trackbacks/408287.html 重复提交、重复刷新、防止后退的问题以及处理方?/span>
一。前a 你在M一个比较专业的BBS都会看到q样的问题,即你Google一下,也会发现有很多的人在x和询问,但大家给出的解决Ҏ(gu)却都是千差万别,Q有的hd采用脚本来解?有的则想重定向到别的面;有的则将此问题提升到Token的角度)Z么会有如此大的差异呢Q?/p>
二。问题场?br />首先Q我们应该先了解Z么要处理q样的问题?或者专业一点就是它适合的场景是什么?Q似乎只有h来问没有人来解释Q?/p>
1。重复提交、重复刷新的场景 重复提交、重复刷新都是来解决pȝ重复记录的问题。也是说某个h在多ơ的提交某条记录Qؓ什么?也许是闲了没有事情干?最有可能是用户Ҏ(gu)׃知道自己的提交结果是否已l执行了Q!Q?/p>
但出Cq样的问题ƈ不见得就必须处理Q要看你所开发的pȝ的类别而定。比如你接手的是某个资源理pȝQ系l本w从需求的角度Ҏ(gu)׃允许出现" 重复"的记录,在这样需求的U束条g下,L行重复的提交动作只会引发“业务U异?#8221;的生,Ҏ(gu)׃可能执行成功也就无所谓避免不避免的问题了?/p>
2。防止后退的场?br />了解了重复刷新、重复提交的场景Q我们来了解一?防止后退"操作的原因是什么?比如你在开发某个投系l,它有很多的步骤,q且q些步骤之间是有联系的,比如W一步会某些信息发送给W二步,W二步缓存了q些信息Q同时将自n的信息发送给了第三步。。。。。等{,如果此时用户处在W三步骤下,我们惌一下某个淘气用L用户点击了后退按钮Q此时屏q出CW二步骤的页面,他再ơ的修改或者再ơ的提交Q进入到下一个步骤(也就是第三步骤)Q错误就会在此生?Q什么错误呢Q最为典型的是q样的操作直接导致了对于W一个步骤信息的丢失Q(如果q样的信息是依靠Request存放的话Q当然你可以存放?Session或者更大的上下文环境中Q但q不是个好主意!关于信息存放的问题,下次在就q个问题详细的讨论)
三。如何处理的问题 当然很多的系l(比如订票pȝ从需求上本n是允怸人重复订的Q是必须要避免重复刷新、重复提交、以及防止后退的问题的Q但即是这L问题Q也要区分如何处理以及在哪里处理的(|上只是告诉你如何处理,但很去区分在哪里处理的Q,昄处理的方式无非是客户端或者服务器端两U,而面对不同的位置处理的方式也是不同的Q但有一点要事先声明QQ何客LQ尤其是B/S端)的处理都是不可信ȝQ最好的也是最应该的是服务器端的处理方法?/p>
客户端处理: 面对客户端我们可以用Javascript脚本来解冻I如下
1。重复刷新、重复提?br />Ways OneQ设|一个变量,只允许提交一ơ?br /><script language="javascript"> var checkSubmitFlg = false; function checkSubmit() { if (checkSubmitFlg == true) { return false; } checkSubmitFlg = true; return true; } document.ondblclick = function docondblclick() { window.event.returnValue = false; } document.onclick = function doconclick() { if (checkSubmitFlg) { window.event.returnValue = false; } } </script> <html:form action="myAction.do" method="post" onsubmit="return checkSubmit();">
Way Two : 提交按钮或者image|ؓdisable <html:form action="myAction.do" method="post" onsubmit="getElById('submitInput').disabled = true; return true;"> <html:image styleId="submitInput" src="images/ok_b.gif" border="0" /> </html:form>
2。防止用户后退 q里的方法是千姿百态,有的是更Ҏ(gu)览器的历史纪录的Q比如用window.history.forward()Ҏ(gu);有的?#8220;用新面的URL替换当前的历史纪录,q样览历史记录中就只有一个页面,后退按钮永远不会变ؓ可用?#8221;比如使用 javascript:location.replace(this.href); event.returnValue=false;
2.服务器端的处理(q里只说Struts框架的处理) 利用同步令牌QTokenQ机制来解决Web应用中重复提交的问题QStruts也给Z一个参考实现?/p>
基本原理Q?br />服务器端在处理到辄h之前Q会请求中包含的o牌g保存在当前用户会话中的o牌D行比较, 看是否匹配。在处理完该h后,且在{复发送给客户端之前,会产生一个新的o牌,该o牌除传给 客户端以外,也会用户会话中保存的旧的o牌进行替换。这样如果用户回退到刚才的提交面q再?br />提交的话Q客L传过来的令牌和服务器端的o牌不一_从而有效地防止了重复提交的发生?/p>
if (isTokenValid(request, true)) { // your code here return mapping.findForward("success"); } else { saveToken(request); return mapping.findForward("submitagain"); }
StrutsҎ(gu)用户会话ID和当前系l时间来生成一个唯一Q对于每个会话)令牌的,具体实现可以参?br />TokenProcessorcM的generateToken()Ҏ(gu)?/p>
1. //验证事务控制令牌,<html:form >会自动根据session中标识生成一个隐含input代表令牌Q防止两ơ提?br />2. 在action中:
//<input type="hidden" name="org.apache.struts.taglib.html.TOKEN" // value="6aa35341f25184fd996c4c918255c3ae"> if (!isTokenValid(request)) errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.transaction.token")); resetToken(request); //删除session中的令牌
3. action有这L一个方法生成o?br /> protected String generateToken(HttpServletRequest request) { HttpSession session = request.getSession(); try { byte id[] = session.getId().getBytes(); byte now[] = new Long(System.currentTimeMillis()).toString().getBytes(); MessageDigest md = MessageDigest.getInstance("MD5"); md.update(id); md.update(now); return (toHex(md.digest())); } catch (IllegalStateException e) { return (null); } catch (NoSuchAlgorithmException e) { return (null); } }
ȝ 对于重复提交、重复刷新、防止后退{等都是属于pȝ为避免重复记录而需要解决的问题Q在客户端去处理需要针Ҏ(gu)一U的可能提出相应的解x案,然而在服务器端看来只不q是对于数据真实性的验问题,Z令牌的处理就是一x逸的Ҏ(gu)?/p>
同时我们也看刎ͼ从不同的角度ȝ待问题,其解决的Ҏ(gu)也是不同的。客L更追求的是用L操作Q而服务端则将注意力放在了数据的处理上Q所以在某个对于服务器端看似Ҏ(gu)的问题上Q用客户端来解决却麻烦了很多Q反之依然。所以在某些问题的处理上我们需要综合考虑和^衡,是用客户端来解决Q还是用服务器端来处理? [转蝲出处] http://blog.csdn.net/Killvin/
]]>javascript 增,删,查,?cookies http://www.tkk7.com/wshao/archive/2013/12/31/408286.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:23:00 GMT http://www.tkk7.com/wshao/archive/2013/12/31/408286.html http://www.tkk7.com/wshao/comments/408286.html http://www.tkk7.com/wshao/archive/2013/12/31/408286.html#Feedback 0 http://www.tkk7.com/wshao/comments/commentRss/408286.html http://www.tkk7.com/wshao/services/trackbacks/408286.html //写cookies函数 作者:振?br />function SetCookie(name,value)//两个参数Q一个是cookie的名子,一个是?br />{ var Days = 30; //?cookie 被保存 30 ?br /> var exp = new Date(); //new Date("December 31, 9998"); exp.setTime(exp.getTime() + Days*24*60*60*1000); document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); } function getCookie(name)//取cookies函数 { var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); if(arr != null) return unescape(arr[2]); return null; } function delCookie(name)//删除cookie { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval=getCookie(name); if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); } SetCookie ("xiaoqi", "3") alert(getCookie('xiaoqi')); </script> 一个非常实用的javascriptdCookie函数 一个非常实用的javascriptdCookie函数 function GetCookieVal(offset) //获得Cookie解码后的?br />{ var endstr = documents.cookie.indexOf (";", offset); if (endstr == -1) endstr = documents.cookie.length; return unescape(documents.cookie.substring(offset, endstr)); } function SetCookie(name, value) //讑֮Cookie?br />{ var expdate = new Date(); var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; var path = (argc > 3) ? argv[3] : null; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 )); documents.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString())) +((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain)) +((secure == true) ? "; secure" : ""); } function DelCookie(name) //删除Cookie { var exp = new Date(); exp.setTime (exp.getTime() - 1); var cval = GetCookie (name); documents.cookie = name + "=" + cval + "; expires="+ exp.toGMTString(); } function GetCookie(name) //获得Cookie的原始?br />{ var arg = name + "="; var alen = arg.length; var clen = documents.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (documents.cookie.substring(i, j) == arg) return GetCookieVal (j); i = documents.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } <SCRIPT language="javascript"> <!-- function openpopup(){ url="popup.htm" window.open("gonggao.htm","gonggao","width=260,height=212,left=200,top=0") } function get_cookie(Name) { var search = Name + "=" var returnvalue = ""; if (documents.cookie.length > 0) { offset = documents.cookie.indexOf(search) if (offset != -1) { offset += search.length end = documents.cookie.indexOf(";", offset); if (end == -1) end = documents.cookie.length; returnvalue=unescape(documents.cookie.substring(offset, end)) } } return returnvalue; } function helpor_net(){ if (get_cookie('popped')==''){ openpopup() documents.cookie="popped=yes" } } helpor_net() //--> </SCRIPT> 如果点了定Q只要不清cookieQ以后访问都不会再提C,如果不点定则每ơ都会提C。放在js文g里,全站包含 <SCRIPT LANGUAGE="JavaScript"> <!-- var the_cookie = document.cookie; var broken_cookie = the_cookie.split(":"); var the_visiteraccepted = unescape(broken_cookie[1]); // if (the_visiteraccepted=="undefined"){ var tmp=confirm('中国Z时何地?); if(tmp==false){ window.close(); }else{ var the_visiteraccepted = 1; var the_cookie = "ILoveChina=visiteraccepted:" + escape(the_visiteraccepted); document.cookie = the_cookie; } } //--> </SCRIPT> 1. Cookie的兼Ҏ(gu)问?br /> MCookie的格式有2个不同的版本Q第一个版本,我们UCؓCookie Version 0Q是最初由Netscape公司制定的,也被几乎所有的览器支持。而较新的版本QCookie Version 1Q则是根据RFC 2109文制定的。ؓ了确保兼Ҏ(gu),JAVA规定Q前面所提到的涉及Cookie的操作都是针Ҏ(gu)版本的Cookieq行的。而新版本的Cookie目前q不被Javax.servlet.http.Cookie包所支持?br /> M2. Cookie的内?br /> M同样?Cookie的内容的字符限制针对不同的Cookie版本也有不同。在Cookie Version 0中,某些Ҏ(gu)的字W,例如Q空|Ҏ(gu)P圆括P{于P=Q,逗号Q双引号Q斜杠,问号Q@W号Q冒P分号都不能作为Cookie的内宏V这也就是ؓ什么我们在例子中设定Cookie的内容ؓ"Test_Content"的原因?br /> M虽然在Cookie Version 1规定中放宽了限制Q可以用这些字W,但是考虑到新版本的Cookie规范目前仍然没有为所有的览器所支持Q因而ؓ保险赯Q我们应该在Cookie的内容中量避免使用q些字符 ]]> JavaScript中json对象和string对象之间的{?/title> http://www.tkk7.com/wshao/archive/2013/12/31/408281.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:20:00 GMT http://www.tkk7.com/wshao/archive/2013/12/31/408281.html http://www.tkk7.com/wshao/comments/408281.html http://www.tkk7.com/wshao/archive/2013/12/31/408281.html#Feedback 0 http://www.tkk7.com/wshao/comments/commentRss/408281.html http://www.tkk7.com/wshao/services/trackbacks/408281.html
json对象 var json = {aa:true,bb:true}; var json1 = {aa:'b',bb:{cc:true,dd:true}}; 1Qjs操作json对象 for(var item in json){ alert(item); //l果?aa,bb, cd?string alert(typeof(item)); alert(eval("json."+item)); //l果是trueQtruecd是boolean eval(("json."+item+"=false;")); //改变json对象的?br /> } 2Qjson对象转化为String对象的方?br />1 /* * 2 * json对象转字W串形式 3 */ 4 function json2str(o) { 5 var arr = []; 6 var fmt = function (s) { 7 if ( typeof s == ' object ' && s != null ) return json2str(s); 8 return / ^(string|number)$ / .test( typeof s) ? " ' " + s + " ' " : s; 9 } 10 for ( var i in o) arr.push( " ' " + i + " ': " + fmt(o[i])); 11 return ' { ' + arr.join( ' , ' ) + ' } ' ; 12 } 3:string对象转化为json对象 function stringToJson(stringValue) { eval("var theJsonValue = "+stringValue); return theJsonValue; } 4:json数组转化?String对象的方法(要掉要上面那个方法) function JsonArrayToStringCfz(jsonArray) var JsonArrayString = "["; for(var i=0;i<jsonArray.length;i++){ JsonArrayString=JsonArrayString+JsonToStringCfz(jsonArray[i])+","; } JsonArrayString = JsonArrayString.substring(0,JsonArrayString.length-1)+"]"; return JsonArrayString; } 5 利用json.js json转string
<script src="json2.js"></script> <script> var date = {myArr : ["a" , "b" , "c" , "d"] , count : 4}; var str = JSON.stringify(date); alert(str); </script>
]]> JS计算包含英文与汉字的字符串长?一个汉?2个字? http://www.tkk7.com/wshao/archive/2013/12/31/408272.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:06:00 GMT http://www.tkk7.com/wshao/archive/2013/12/31/408272.html http://www.tkk7.com/wshao/comments/408272.html http://www.tkk7.com/wshao/archive/2013/12/31/408272.html#Feedback 0 http://www.tkk7.com/wshao/comments/commentRss/408272.html http://www.tkk7.com/wshao/services/trackbacks/408272.html tbCharacters(str) { var totalCount = 0; for (var i=0; i<str.length; i++) { var c = str.charCodeAt(i); if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) { totalCount++; } else { totalCount+=2; } } return totalCount; } ]]> JS截取字符长度Q按字节Q?/title> http://www.tkk7.com/wshao/archive/2013/12/31/408270.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:04:00 GMT http://www.tkk7.com/wshao/archive/2013/12/31/408270.html http://www.tkk7.com/wshao/comments/408270.html http://www.tkk7.com/wshao/archive/2013/12/31/408270.html#Feedback 0 http://www.tkk7.com/wshao/comments/commentRss/408270.html http://www.tkk7.com/wshao/services/trackbacks/408270.html * 处理q长的字W串Q截取ƈd省略?/span> * 注:半角长度?Q全角长度ؓ2 * * pStr:字符?/span> * pLen:截取长度 * * return: 截取后的字符?/span> * function autoAddEllipsis(pStr, pLen) { var _ret = cutString(pStr, pLen); var _cutFlag = _ret.cutflag; var _cutStringn = _ret.cutstring; if ( "1" == _cutFlag) { return _cutStringn + "..." ; } else { return _cutStringn; } } * * 取得指定长度的字W串 * 注:半角长度?Q全角长度ؓ2 * * pStr:字符?/span> * pLen:截取长度 * * return: 截取后的字符?/span> * function cutString(pStr, pLen) { // 原字W串长度 var _strLen = pStr.length; var _tmpCode; var _cutString; // 默认情况下,q回的字W串是原字符串的一部分 var _cutFlag = "1" ; var _lenCount = 0; var _ret = false ; if (_strLen <= pLen/2) { _cutString = pStr; _ret = true ; } if (!_ret) { for ( var i = 0; i < _strLen ; i++ ) { if (isFull(pStr.charAt(i))) { _lenCount += 2; } else { _lenCount += 1; } if (_lenCount > pLen) { _cutString = pStr.substring(0, i); _ret = true ; break ; } else if (_lenCount == pLen) { _cutString = pStr.substring(0, i + 1); _ret = true ; break ; } } } if (!_ret) { _cutString = pStr; _ret = true ; } if (_cutString.length == _strLen) { _cutFlag = "0" ; } return { "cutstring" :_cutString, "cutflag" :_cutFlag}; } * * 判断是否为全?/span> * * pChar:长度?的字W串 * return: tb true:全角 * false:半角 * function isFull (pChar) { for ( var i = 0; i < pChar. strLen ; i++ ) { if ((pChar.charCodeAt(i) > 128)) { return true ; } else { return false ; } } } 用例Q?/span> testStr = "试1字符?; autoAddEllipsis(testStr, 1); // "?.." autoAddEllipsis(testStr, 2); // "?.." autoAddEllipsis(testStr, 3); // "?.." autoAddEllipsis(testStr, 4); // "试..." autoAddEllipsis(testStr, 5); // "试1..." autoAddEllipsis(testStr, 6); // "试1..." autoAddEllipsis(testStr, 7); // "试1?.." ]]> JS 获取字符串长度,截取字符Ԍ中英文,一个汉字相当于2个字W) http://www.tkk7.com/wshao/archive/2013/12/31/408271.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:04:00 GMT http://www.tkk7.com/wshao/archive/2013/12/31/408271.html http://www.tkk7.com/wshao/comments/408271.html http://www.tkk7.com/wshao/archive/2013/12/31/408271.html#Feedback 0 http://www.tkk7.com/wshao/comments/commentRss/408271.html http://www.tkk7.com/wshao/services/trackbacks/408271.html //一个汉字相当于2个字W?br /> function get_length(s){ var char_length = 0; for (var i = 0; i < s.length; i++){ var son_char = s.charAt(i); encodeURI(son_char).length > 2 ? char_length += 1 : char_length += 0.5; } return char_length; } function cut_str(stb r, len){ var char_length = 0; for (var i = 0; i < str.length; i++){ var son_str = str.charAt(i); encodeURI(son_str).length > 2 ? char_length += 1 : char_length += 0.5; if (char_length >= len){ var sub_len = char_length == len ? i+1 : i; return str.substr(0, sub_len); break; } } } // 截取15个字Q?0个字W) // cut_str('aa啊啊啊啊啊啊啊啊啊啊啊啊啊k的啊?, 15); </script> ]]> 忘掉jQueryQ用JavaScript原生API http://www.tkk7.com/wshao/archive/2013/12/31/408264.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 05:55:00 GMT http://www.tkk7.com/wshao/archive/2013/12/31/408264.html http://www.tkk7.com/wshao/comments/408264.html http://www.tkk7.com/wshao/archive/2013/12/31/408264.html#Feedback 0 http://www.tkk7.com/wshao/comments/commentRss/408264.html http://www.tkk7.com/wshao/services/trackbacks/408264.html 阅读全文 ]]>
վ֩ģ壺
պ߹Ƶ |
պ߹ۿ |
Ʒ͵Բ |
ɫƵ |
һĹ˾ |
һһƬƵ |
鵺̳Ʒ |
þƬѹۿ |
ۺϺݺݰ |
Ƶ߹ۿ |
AVһϵ
|
þþƵ |
AVۺɫһ |
һëƬ |
Ļ |
˸Ƶ |
һڶĵ
|
պһ |
mv߹ۿ |
ƷƵ߲ |
ձҳվ |
һƵվ |
Ʒާv벥 |
69ƷƵ |
߹ۿAVպA |
V߹ۿ |
þþƷѹۿ |
AVɫ˿ |
Ļѹۿ |
99re6ƵƷ |
ƷҳĻ |
ձѲ |
ѹۿ |
avרۿƷ |
AVһ߹ۿ |
պavѲ |
պav |
ƷҹĻ |
2018Ƶѹۿ |
av뾫Ʒַ |
þþƷƵ |