title = 'http://111.111.111.111/index/aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhh'
火狐浏览器中的title遇到长单词不会自动换行,导致title显示不全。
解决思路:
由于遇到空格会自动换行,所以,先将字符串按空格划分,然后判断每一部分的长度,(经实验发现一般长度超出68~70就会出现显示不全的问题),如果长度超过68,则添加一个空格,这样当一个单词长度长于68时,就会换行了
function formatTitle(value){
if (value) {
let strList = value.toString().split(' ');
let resultStr = "";
strList.forEach(str => {
if (str.length >= 68) {
resultStr = resultStr + ' ' + str.toString().replace(/\s/g, '').replace(/(.{68})/g, '$1 '); // 正则是每68个字符添加一个空格
} else {
resultStr = resultStr + ' ' + str
}
});
return resultStr;
}
return;
}
let value = 'http://111.111.111.111/index/aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhh';
console.log(formatTitle(value)); // http://111.111.111.111/index/aaaaaaaaaabbbbbbbbbbccccccccccddddddddd deeeeeeeeeeffffffffffgggggggggghhhhhhhhhh