handler.wxs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. var inlineTags = {
  2. abbr: 1,
  3. b: 1,
  4. big: 1,
  5. code: 1,
  6. del: 1,
  7. em: 1,
  8. i: 1,
  9. ins: 1,
  10. label: 1,
  11. q: 1,
  12. small: 1,
  13. span: 1,
  14. strong: 1
  15. }
  16. module.exports = {
  17. // 从顶层标签的样式中取出一些给 rich-text
  18. getStyle: function(style) {
  19. if (style) {
  20. var i, j, res = '';
  21. if ((i = style.indexOf('display')) != -1)
  22. res = style.substring(i, (j = style.indexOf(';', i)) == -1 ? style.length : j);
  23. if ((i = style.indexOf('float')) != -1)
  24. res += ';' + style.substring(i, (j = style.indexOf(';', i)) == -1 ? style.length : j);
  25. return res;
  26. }
  27. },
  28. // 处理懒加载
  29. getNode: function(item, imgLoad) {
  30. if (!imgLoad && item.attrs.i != '0') {
  31. var img = {
  32. name: 'img',
  33. attrs: JSON.parse(JSON.stringify(item.attrs))
  34. }
  35. delete img.attrs.src;
  36. img.attrs.style += ';width:20px;height:20px';
  37. return [img];
  38. } else return [item];
  39. },
  40. // 是否通过 rich-text 显示
  41. useRichText: function(item) {
  42. return !item.c && !inlineTags[item.name] && (item.attrs.style || '').indexOf('display:inline') == -1;
  43. }
  44. }