解决break-word在Firefox无效的问题。
2008-09-20 17:41
197 查看
// JScript 文件
//浏览器英文换行,兼容firefox浏览器
//如果是IE浏览器,则调用IE私有的css样式 break-all;
//其它浏览器,使用js脚本控制换行。
//参数 dEl 要换行的元素的id
//调用示例:
// var dEl = document.getElementById ("threePage");
// var sName = "break-word";
// var oReg = new RegExp('(//s|^)' + sName + '(//s|$)');
// if(dEl.className.match(oReg)){
// breakWord(dEl);
// }
//在要调用元素的后面调用本方法。
//aka makeDesignerHappy(dEl);
function breakWord(dEl){
if(!dEl || dEl.nodeType != 1){
return false;
} else if(dEl.currentStyle && typeof dEl.currentStyle.wordBreak == 'string'){
//Lazy Function Definition Pattern, Peter's Blog
//From http://peter.michaux.ca/article/3556
breakWord = function(dEl){
//For Internet Explorer,IE浏览器
dEl.runtimeStyle.wordBreak = 'break-all';
return true;
}
return breakWord(dEl);
}else if(document.createTreeWalker){
//Faster Trim in Javascript, Flagrant Badassery
//http://blog.stevenlevithan.com/archives/faster-trim-javascript
var trim = function (str) {
str = str.replace(/^/s/s*/, '');
var ws = //s/,
i = str.length;
while (ws.test(str.charAt(--i)));
return str.slice(0, i + 1);
}
//Lazy Function Definition Pattern, Peter's Blog
//From http://peter.michaux.ca/article/3556
breakWord = function(dEl){
//For Opera, Safari, and Firefox,其它浏览器
var dWalker = document.createTreeWalker(dEl, NodeFilter.SHOW_TEXT, null, false);
var node,s,c = String.fromCharCode('8203');
while (dWalker.nextNode())
{
node = dWalker.currentNode;
//we need to trim String otherwise Firefox will display
//incorect text-indent with space characters
s = trim( node.nodeValue ) .split('').join(c);
node.nodeValue = s;
}
return true;
}
return breakWord(dEl);
}else{
return false;
}
}
脚本内容摘自:http://www.hedgerwow.com/360/dhtml/css-word-break.html
//浏览器英文换行,兼容firefox浏览器
//如果是IE浏览器,则调用IE私有的css样式 break-all;
//其它浏览器,使用js脚本控制换行。
//参数 dEl 要换行的元素的id
//调用示例:
// var dEl = document.getElementById ("threePage");
// var sName = "break-word";
// var oReg = new RegExp('(//s|^)' + sName + '(//s|$)');
// if(dEl.className.match(oReg)){
// breakWord(dEl);
// }
//在要调用元素的后面调用本方法。
//aka makeDesignerHappy(dEl);
function breakWord(dEl){
if(!dEl || dEl.nodeType != 1){
return false;
} else if(dEl.currentStyle && typeof dEl.currentStyle.wordBreak == 'string'){
//Lazy Function Definition Pattern, Peter's Blog
//From http://peter.michaux.ca/article/3556
breakWord = function(dEl){
//For Internet Explorer,IE浏览器
dEl.runtimeStyle.wordBreak = 'break-all';
return true;
}
return breakWord(dEl);
}else if(document.createTreeWalker){
//Faster Trim in Javascript, Flagrant Badassery
//http://blog.stevenlevithan.com/archives/faster-trim-javascript
var trim = function (str) {
str = str.replace(/^/s/s*/, '');
var ws = //s/,
i = str.length;
while (ws.test(str.charAt(--i)));
return str.slice(0, i + 1);
}
//Lazy Function Definition Pattern, Peter's Blog
//From http://peter.michaux.ca/article/3556
breakWord = function(dEl){
//For Opera, Safari, and Firefox,其它浏览器
var dWalker = document.createTreeWalker(dEl, NodeFilter.SHOW_TEXT, null, false);
var node,s,c = String.fromCharCode('8203');
while (dWalker.nextNode())
{
node = dWalker.currentNode;
//we need to trim String otherwise Firefox will display
//incorect text-indent with space characters
s = trim( node.nodeValue ) .split('').join(c);
node.nodeValue = s;
}
return true;
}
return breakWord(dEl);
}else{
return false;
}
}
脚本内容摘自:http://www.hedgerwow.com/360/dhtml/css-word-break.html
相关文章推荐
- [转]兼容IE firefox(FF下不认word-break及word-wrap),解决文字溢出的问题
- firefox样式表cursor和兼容Ie firefox,解决文字溢出的问题(word-wrap:break-word;word-break:break-all)
- 【旧资料整理】解决firefox3迅雷插件右键查看页面源代码无效问题
- 用word-break: break-all解决不正确换行问题
- firefox和opera不支持word-wrap:break-word的解决方法
- 解决firefox下div的background无效的问题
- td使用word-break: break-all;强制换行无效的解决
- FreeMarker导出word文件,\n换行无效的问题解决记录
- FreeMarker导出word文件,\n换行无效的问题解决记录
- word遇到问题需要关闭的解决办法
- FireFox nsSessionStore.js 问题报错解决
- 解决Word 2007中更新整个目录后分节符消失问题
- 常见浏览器兼容问题及相关解决方法(chrome/IE/firefox)
- 解决IE6、IE7、IE8、Firefox的CSS兼容性问题
- 解决从vs2010复制汉字粘贴到word乱码问题
- FireFox 页面框架中计时器的问题最终解决方法
- 解决struts2在(IE,Firefox)下载文件名乱码问题。
- word break相关问题的解法
- jquer 修改iframe 高度问题 解决ie下修改iframe高度无效
- [Ubuntu 10.04]Firefox中Flash汉字乱码问题的解决