在js中字符串部分中英文,那么对于有些对字符长度有要求的,不能写死。
下面这个是中文占3个字符长度。
getStrLen:function(value) {
var len = 0;
if (value) {
for (var i = 0; i < value.length; i++) {
var tmpCode = value.charCodeAt(i);
if (tmpCode > 255 || tmpCode < 0) {
len += 3;
} else {
len++;
}
}
}
return len;
}
本文主要Oracle下中文占3个字符的判断。使用getSubStr(strValue,2);
getSubStr: function(value, iLen) {
// 输出长度字符串
if (value != '') {
if (this.getStrLen(value) > iLen) {
// 处理
var iStart = Math.floor(iLen / 3);
for (var i = iStart; i < value.length; i++) {
if (this.getStrLen(value.substring(0, i)) == iLen) {
return value.substring(0, i);
} else if (this.getStrLen(value.substring(0, i)) > iLen) {
return value.substring(0, i - 1);
}
}
} else {
return value;
}
} else {
return value;
}
}
页面卡死问题找不到之分辨率问题
解决方法:
1.布局问题,因为出问题的是device-pixel-ratio。
2.问题现象是高分屏下整好的东西,在普分屏下会放大;而普分屏下整好的东西,在高分屏上会缩小。
3.重现这个问题不需要高分屏,直接用Ctrl++或者Ctrl+-出来的效果是跟高分屏一致的(所以搞定这个问题之后,也可以同时预防用户误触网页缩放)。另外恢复是Ctrl+Num0
4.解决的关键在css的media中适配写device-pixel-ratio单独适配像素比;另外,需要把绝大多数组件由px单位转换为rem单位,因为需要在前边提到的device-pixel-ratio里调节:root的font-size`,以达到动态缩放的目的
//页面devicePixelRatio(设备像素比例)变化后,计算页面body标签zoom修改其大小,来抵消devicePixelRatio带来的变化。
document.getElementsByTagName('body')[0].style.zoom = 1 / window.devicePixelRatio;
网友评论