45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			XML
		
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			XML
		
	
	
| var inlineTags = {
 | |
| 	abbr: 1,
 | |
| 	b: 1,
 | |
| 	big: 1,
 | |
| 	code: 1,
 | |
| 	del: 1,
 | |
| 	em: 1,
 | |
| 	i: 1,
 | |
| 	ins: 1,
 | |
| 	label: 1,
 | |
| 	q: 1,
 | |
| 	small: 1,
 | |
| 	span: 1,
 | |
| 	strong: 1
 | |
| }
 | |
| module.exports = {
 | |
| 	// 从顶层标签的样式中取出一些给 rich-text
 | |
| 	getStyle: function(style) {
 | |
| 		if (style) {
 | |
| 			var i, j, res = '';
 | |
| 			if ((i = style.indexOf('display')) != -1)
 | |
| 				res = style.substring(i, (j = style.indexOf(';', i)) == -1 ? style.length : j);
 | |
| 			if ((i = style.indexOf('float')) != -1)
 | |
| 				res += ';' + style.substring(i, (j = style.indexOf(';', i)) == -1 ? style.length : j);
 | |
| 			return res;
 | |
| 		}
 | |
| 	},
 | |
| 	// 处理懒加载
 | |
| 	getNode: function(item, imgLoad) {
 | |
| 		if (!imgLoad && item.attrs.i != '0') {
 | |
| 			var img = {
 | |
| 				name: 'img',
 | |
| 				attrs: JSON.parse(JSON.stringify(item.attrs))
 | |
| 			}
 | |
| 			delete img.attrs.src;
 | |
| 			img.attrs.style += ';width:20px;height:20px';
 | |
| 			return [img];
 | |
| 		} else return [item];
 | |
| 	},
 | |
| 	// 是否通过 rich-text 显示
 | |
| 	useRichText: function(item) {
 | |
| 		return !item.c && !inlineTags[item.name] && (item.attrs.style || '').indexOf('display:inline') == -1;
 | |
| 	}
 | |
| }
 |