长字符串显示引起的问题通用性解决方法
2009-02-04 11:22
337 查看
今天测试员小黄提交一个WeB界面bug,布局改变了。 在FF中调试发现是长字符串变量${name}撑破的div。
编写时,发现的${name}值大多都很小,所以也就没有加以防范措施。这个隐患今天终于爆发了。
解决办法:
1,后台字符串截取。(程序员都知道)
2,input 标签解决,这种方法有个缺点是:在有背景的情况下,初次显示没有问题,但当鼠标访问后留下白斑,很难看!
<input type="text" size=18 readonly style="BACKGROUND-COLOR: transparent;BORDER: medium none;cursor:hand;" value="${name}">
3,js解决。 利用jquery框架提供的功能很容易解决。类似于后台字符串截取。缺点是如果内容是
url 或者是email,会破坏内容结构。
4,div + span 我今天新发现的,个人推荐。
<div style="overflow:hidden;width:200px" title="${name}"><span> ${name} </span></div>
单纯用div,在调节css的width:200px;overflow:hidden;word-wrap :break-word;word-break:normal; 对一个长字符是不起作用的。
考虑到项目中有很多这样的隐患,每个都改,工作量比较大,于是写了一js来解决
/*auto hidden while text content length is over long*/
$(".longTitle").each(function(){
$(this).wrap("<div title='" + this.innerHTML.trim() + "' class='longTitle'></div>");
});
这样在需要的标签上加上一个longTitle 的class即可。<注:被加的标签可以是<a><span> 如果文本直接放在<td>下,请换wrapInner()函数。具体参考jquery框架 >
这是google的gmail的解决方法。代码干净。通用性强。测试ie6,7 ,ff2,3 均正常。没有效率问题!
编写时,发现的${name}值大多都很小,所以也就没有加以防范措施。这个隐患今天终于爆发了。
解决办法:
1,后台字符串截取。(程序员都知道)
2,input 标签解决,这种方法有个缺点是:在有背景的情况下,初次显示没有问题,但当鼠标访问后留下白斑,很难看!
<input type="text" size=18 readonly style="BACKGROUND-COLOR: transparent;BORDER: medium none;cursor:hand;" value="${name}">
3,js解决。 利用jquery框架提供的功能很容易解决。类似于后台字符串截取。缺点是如果内容是
url 或者是email,会破坏内容结构。
4,div + span 我今天新发现的,个人推荐。
<div style="overflow:hidden;width:200px" title="${name}"><span> ${name} </span></div>
单纯用div,在调节css的width:200px;overflow:hidden;word-wrap :break-word;word-break:normal; 对一个长字符是不起作用的。
考虑到项目中有很多这样的隐患,每个都改,工作量比较大,于是写了一js来解决
/*auto hidden while text content length is over long*/
$(".longTitle").each(function(){
$(this).wrap("<div title='" + this.innerHTML.trim() + "' class='longTitle'></div>");
});
这样在需要的标签上加上一个longTitle 的class即可。<注:被加的标签可以是<a><span> 如果文本直接放在<td>下,请换wrapInner()函数。具体参考jquery框架 >
这是google的gmail的解决方法。代码干净。通用性强。测试ie6,7 ,ff2,3 均正常。没有效率问题!
相关文章推荐
- 长字符串显示引起的问题通用性解决方法
- 解决DocType引起AjaxTookit的ModulPopup显示异常问题的方法
- 在使用Gson的toJson()方法转为json字符串的时候无法显示中文和符号的问题(已解决)
- Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
- Android自带播放器字符串显示乱码问题的一个解决方法
- jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法
- jsp页面中EL表达式被当成字符串处理不显示值问题的解决方法
- 注记多行显示问题的解决方法
- python类中显示重写__del__方法,引起循环引用的对象无法释放,造成垃圾泄露问题
- 黄聪:python控制台无法正常显示中文字符串解决方法
- 关于Highcharts的x轴密密麻麻的时间格式显示问题解决方法
- 在VS2005/2008中字符串编码问题的解决及字符串和数值类型常用的转换方法
- js代码开发引起的一系列问题及解决方法
- ie11兼容性问题,jsp在IE11显示不全问题,ie11覆盖内容问题解决方法
- flex不显示GIF图片问题的另类解决方法
- 更改apache(2.2.17版本)默认文件路径引起的无权限访问问题的解决方法
- 【解决方法】EasyUI DataGrid不显示滚动条时,没有数据的问题
- 关于spss显示“试图连接远程服务器失败”的问题以及解决方法
- Eclipse+pydev解决中文显示和注释问题的方法大全
- java中读取excel文件中字符串乱码问题解决方法