在js中字符串部分中英文,那么對(duì)于有些對(duì)字符長(zhǎng)度有要求的,不能寫(xiě)死。
下面這個(gè)是中文占3個(gè)字符長(zhǎng)度。
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個(gè)字符的判斷。使用getSubStr(strValue,2);
getSubStr: function(value, iLen) {
// 輸出長(zhǎng)度字符串
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;
}
}
頁(yè)面卡死問(wèn)題找不到之分辨率問(wèn)題
解決方法:
1.布局問(wèn)題,因?yàn)槌鰡?wèn)題的是device-pixel-ratio。
2.問(wèn)題現(xiàn)象是高分屏下整好的東西,在普分屏下會(huì)放大;而普分屏下整好的東西,在高分屏上會(huì)縮小。
3.重現(xiàn)這個(gè)問(wèn)題不需要高分屏,直接用Ctrl++或者Ctrl+-出來(lái)的效果是跟高分屏一致的(所以搞定這個(gè)問(wèn)題之后,也可以同時(shí)預(yù)防用戶誤觸網(wǎng)頁(yè)縮放)。另外恢復(fù)是Ctrl+Num0
4.解決的關(guān)鍵在css的media中適配寫(xiě)device-pixel-ratio單獨(dú)適配像素比;另外,需要把絕大多數(shù)組件由px單位轉(zhuǎn)換為rem單位,因?yàn)樾枰谇斑吿岬降膁evice-pixel-ratio里調(diào)節(jié):root的font-size`,以達(dá)到動(dòng)態(tài)縮放的目的
//頁(yè)面devicePixelRatio(設(shè)備像素比例)變化后,計(jì)算頁(yè)面body標(biāo)簽zoom修改其大小,來(lái)抵消devicePixelRatio帶來(lái)的變化。
document.getElementsByTagName('body')[0].style.zoom = 1 / window.devicePixelRatio;