From 8dec06af737ce4816754fe27513ef74894c7d39d Mon Sep 17 00:00:00 2001 From: Jin Yufeng <1750665@tongji.edu.cn> Date: Fri, 24 Dec 2021 17:39:04 +0800 Subject: [PATCH] release v2.2.1 --- README.md | 24 ++++----- dist/mp-alipay/index.js | 2 +- dist/mp-alipay/parser.js | 2 +- dist/mp-baidu/index.js | 2 +- dist/mp-baidu/parser.js | 2 +- dist/mp-qq/index.js | 2 +- dist/mp-qq/parser.js | 2 +- dist/mp-toutiao/index.js | 2 +- dist/mp-toutiao/parser.js | 2 +- dist/mp-weixin/index.js | 2 +- dist/mp-weixin/parser.js | 2 +- dist/uni-app/components/mp-html/mp-html.vue | 7 ++- dist/uni-app/components/mp-html/parser.js | 4 +- .../static/app-plus/mp-html/local.html | 2 +- docs/README.md | 8 +-- docs/_coverpage.md | 2 +- docs/advanced/plugin.md | 48 ++++++++++++------ .../case/APP\346\257\224\346\257\224.jpg" | Bin 20533 -> 0 bytes .../\345\221\250\344\273\231\347\245\236.png" | Bin 0 -> 29688 bytes docs/basic/prop.md | 3 +- docs/changelog/changelog.md | 10 ++++ docs/overview/quickstart.md | 36 +++++++++++-- package.json | 2 +- plugins/editable/README.md | 44 ++++++++++------ plugins/highlight/README.md | 2 + src/miniprogram/index.js | 2 +- src/miniprogram/parser.js | 4 +- src/uni-app/components/mp-html/mp-html.vue | 2 +- src/uni-app/components/mp-html/parser.js | 4 +- .../static/app-plus/mp-html/local.html | 10 ---- tools/demo/uni-app/README.md | 28 ++++++++-- 31 files changed, 173 insertions(+), 89 deletions(-) delete mode 100644 "docs/assets/case/APP\346\257\224\346\257\224.jpg" create mode 100644 "docs/assets/case/\345\221\250\344\273\231\347\245\236.png" diff --git a/README.md b/README.md index 40164f2d..e4df46f0 100644 --- a/README.md +++ b/README.md @@ -205,13 +205,13 @@ |:---:|:---:|:---:|:---:|:---:|:---:| | ![富文本插件](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/富文本插件.jpg) | ![欢喜商城](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/欢喜商城.png) | ![多么生活](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/多么生活.jpg) | ![全品作业小助手](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/全品作业小助手.jpg) | ![米兔旅行](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/米兔旅行.png) | ![食法查](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/食法查.png) | -| 微慕 | 古典文学名著阅读 | 程序员技术之旅 | 典典博客 | APP 比比 | Geek 时代 | +| 微慕 | 古典文学名著阅读 | 程序员技术之旅 | 典典博客 | Geek 时代 | 源创智造 | |:---:|:---:|:---:|:---:|:---:|:---:| -| ![微慕](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/微慕.jpg) | ![古典文学名著阅读](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/古典文学名著阅读.jpg) | ![程序员技术之旅](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/程序员技术之旅.jpg) | ![典典博客](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/典典博客.jpg) | ![APP比比](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/APP比比.jpg) | ![Geek时代](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/Geek时代.jpg) | +| ![微慕](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/微慕.jpg) | ![古典文学名著阅读](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/古典文学名著阅读.jpg) | ![程序员技术之旅](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/程序员技术之旅.jpg) | ![典典博客](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/典典博客.jpg) | ![Geek时代](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/Geek时代.jpg) | ![源创智造](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/源创智造.png) | -| 源创智造 | 备忘录与记事本 | 优秀笔记 | 365 刷题 | 同城共享书 | 技术源 share | +| 备忘录与记事本 | 优秀笔记 | 365 刷题 | 同城共享书 | 技术源 share | 周仙神 | |:---:|:---:|:---:|:---:|:---:|:---:| -| ![源创智造](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/源创智造.png) | ![备忘录与记事本](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/备忘录与记事本.jpg) | ![优秀笔记](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/优秀笔记.jpg) | ![365刷题](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/365刷题.jpg) | ![同城共享书](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/同城共享书.jpg) | ![技术源share](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/技术源share.jpg) | +| ![备忘录与记事本](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/备忘录与记事本.jpg) | ![优秀笔记](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/优秀笔记.jpg) | ![365刷题](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/365刷题.jpg) | ![同城共享书](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/同城共享书.jpg) | ![技术源share](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/技术源share.jpg) | ![周仙神](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/case/周仙神.png) | 以上排名不分先后,更多可见 [使用案例收集](https://github.com/jin-yufeng/mp-html/issues/27)(欢迎添加) @@ -225,6 +225,14 @@ ![支持](https://gitee.com/jin-yufeng/mp-html/raw/master/docs/assets/sponsor.png) ## 更新日志 +- v2.2.1 (20211224) + 1. `A` `editable` 插件增加上下移动标签功能 + 2. `U` `editable` 插件支持在文本中间光标处插入内容 + 3. `F` 修复了 `uni-app` 包 `nvue` 端设置 `margin` 后可能导致高度不正确的问题 + 4. `F` 修复了 `highlight` 插件使用压缩版的 `prism.css` 可能导致背景失效的问题 [详细](https://github.com/jin-yufeng/mp-html/issues/367) + 5. `F` 修复了 `uni-app` 包编辑状态下使用 `emoji` 插件内容为空时可能报错的问题 [详细](https://github.com/jin-yufeng/mp-html/issues/371) + 6. `F` 修复了使用 `editable` 插件后将 `selectable` 属性设置为 `force` 不生效的问题 + - v2.2.0 (20211011) 1. `A` 增加 `customElements` 配置项,便于添加自定义功能性标签 [详细](https://github.com/jin-yufeng/mp-html/issues/350) 2. `A` `editable` 插件增加切换音视频自动播放状态的功能 [详细](https://github.com/jin-yufeng/mp-html/pull/341) by [@leeseett](https://github.com/leeseett) @@ -236,14 +244,6 @@ 8. `F` 修复了 `uni-app` 包 `nvue` 页面运行到非 `app` 平台时可能样式错误的问题 9. `D` 移除了 `ad` 配置项(由 `customElements` 代替) -- v2.1.5 (20210813) - 1. `A` 增加支持标签的 `dir` 属性 - 2. `F` 修复了 `ruby` 标签文字与拼音没有居中对齐的问题 [详细](https://github.com/jin-yufeng/mp-html/issues/325) - 3. `F` 修复了音视频标签内有 `a` 标签时可能无法播放的问题 - 4. `F` 修复了 `externStyle` 中的 `class` 名包含下划线或数字时可能失效的问题 [详细](https://github.com/jin-yufeng/mp-html/issues/326) - 5. `F` 修复了 `uni-app` 包 `h5` 端引入 `externStyle` 可能不生效的问题 [详细](https://github.com/jin-yufeng/mp-html/issues/326) - 6. `F` 修复了微信原生包 `a` 标签的 `style` 中包含 `inline` 时不响应事件的问题 [详细](https://github.com/jin-yufeng/mp-html/issues/332) - 从 `1.x` 的升级方法可见 [更新指南](https://jin-yufeng.gitee.io/mp-html/#/changelog/changelog?id=v200) 查看 [更新日志](https://jin-yufeng.gitee.io/mp-html/#/changelog/changelog) 了解更多 diff --git a/dist/mp-alipay/index.js b/dist/mp-alipay/index.js index 0bdd7ff0..4faf17a4 100644 --- a/dist/mp-alipay/index.js +++ b/dist/mp-alipay/index.js @@ -1,5 +1,5 @@ "use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}/*! - * mp-html v2.2.0 + * mp-html v2.2.1 * https://github.com/jin-yufeng/mp-html * * Released under the MIT license diff --git a/dist/mp-alipay/parser.js b/dist/mp-alipay/parser.js index 052e3b45..af377ad5 100644 --- a/dist/mp-alipay/parser.js +++ b/dist/mp-alipay/parser.js @@ -1 +1 @@ -"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1)}return t}function s(t){this.options=t.props||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0}function e(t){this.handler=t}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"},svgDict:{animatetransform:"animateTransform",lineargradient:"linearGradient",viewbox:"viewBox",attributename:"attributeName",repeatcount:"repeatCount",repeatdur:"repeatDur"}},n={},r=my.getSystemInfoSync(),o=r.windowWidth,h=t(" ,\r,\n,\t,\f"),l=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if(i.c||"a"===i.name||"video"===i.name||"audio"===i.name)return;i.c=1}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||h[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p))}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*o/750+"px"}));e[c]=d}}}return t.attrs.style=a,e},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1)},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T")},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t)},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,h=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var c=s.src||"";c.includes(".mp4")||c.includes(".3gp")||c.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(c.includes(".mp3")||c.includes(".wav")||c.includes(".aac")||c.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T"}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+l++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),h){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;fo&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",d.height&&!d.height.includes("auto")&&(i.h="T")))}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var x in d)d[x]&&(s.style+=";".concat(x,":").concat(d[x].replace(" !important","")));s.style=s.style.substr(1)||void 0}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i)},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}})}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&my.setNavigationBar({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1)}if("svg"===t.name){if(this.xml>1)return void this.xml--;var h="",l=i.style;return i.style="",i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(h+=i.text);var s=a.svgDict[i.name]||i.name;h+="<"+s;for(var e in i.attrs){var n=i.attrs[e];n&&(h+=" ".concat(a.svgDict[e]||e,'="').concat(n,'"'))}if(i.children){h+=">";for(var r=0;r"}else h+="/>"}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+h.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1)}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),i.dir&&(c.direction=i.dir,i.dir=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["xx-small","x-small","small","medium","large","x-large","xx-large"][d-1]),i.size=void 0}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>o&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i)}else this.i++},e.prototype.tagName=function(){if(h[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));h[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text}else this.i++},module.exports=s; \ No newline at end of file +"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1)}return t}function s(t){this.options=t.props||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0}function e(t){this.handler=t}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"},svgDict:{animatetransform:"animateTransform",lineargradient:"linearGradient",viewbox:"viewBox",attributename:"attributeName",repeatcount:"repeatCount",repeatdur:"repeatDur"}},n={},r=my.getSystemInfoSync(),o=r.windowWidth,h=t(" ,\r,\n,\t,\f"),l=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if(i.c||"a"===i.name||"video"===i.name||"audio"===i.name)return;i.c=1}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||h[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p))}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*o/750+"px"}));e[c]=d}}}return t.attrs.style=a,e},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1)},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T")},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t)},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,h=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var c=s.src||"";c.includes(".mp4")||c.includes(".3gp")||c.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(c.includes(".mp3")||c.includes(".wav")||c.includes(".aac")||c.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T"}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+l++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),h){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;fo&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",isNaN(parseInt(d.height))||(i.h="T")))}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var x in d)d[x]&&(s.style+=";".concat(x,":").concat(d[x].replace(" !important","")));s.style=s.style.substr(1)||void 0}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i)},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}})}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&my.setNavigationBar({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1)}if("svg"===t.name){if(this.xml>1)return void this.xml--;var h="",l=i.style;return i.style="",i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(h+=i.text);var s=a.svgDict[i.name]||i.name;h+="<"+s;for(var e in i.attrs){var n=i.attrs[e];n&&(h+=" ".concat(a.svgDict[e]||e,'="').concat(n,'"'))}if(i.children){h+=">";for(var r=0;r"}else h+="/>"}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+h.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1)}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),i.dir&&(c.direction=i.dir,i.dir=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["x-small","small","medium","large","x-large","xx-large","xxx-large"][d-1]),i.size=void 0}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>o&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i)}else this.i++},e.prototype.tagName=function(){if(h[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));h[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text}else this.i++},module.exports=s; \ No newline at end of file diff --git a/dist/mp-baidu/index.js b/dist/mp-baidu/index.js index 2f0e01a0..01073772 100644 --- a/dist/mp-baidu/index.js +++ b/dist/mp-baidu/index.js @@ -1,5 +1,5 @@ "use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}/*! - * mp-html v2.2.0 + * mp-html v2.2.1 * https://github.com/jin-yufeng/mp-html * * Released under the MIT license diff --git a/dist/mp-baidu/parser.js b/dist/mp-baidu/parser.js index 5cb96a86..81aa7673 100644 --- a/dist/mp-baidu/parser.js +++ b/dist/mp-baidu/parser.js @@ -1 +1 @@ -"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1)}return t}function s(t){this.options=t.data||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0}function e(t){this.handler=t}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"},svgDict:{animatetransform:"animateTransform",lineargradient:"linearGradient",viewbox:"viewBox",attributename:"attributeName",repeatcount:"repeatCount",repeatdur:"repeatDur"}},n={},r=swan.getSystemInfoSync(),o=r.windowWidth,h=t(" ,\r,\n,\t,\f"),l=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if(i.c||"a"===i.name||"video"===i.name||"audio"===i.name)return;i.c=1}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||h[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p))}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*o/750+"px"}));e[c]=d}}}return t.attrs.style=a,e},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1)},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T")},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t)},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,h=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var c=s.src||"";c.includes(".mp4")||c.includes(".3gp")||c.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(c.includes(".mp3")||c.includes(".wav")||c.includes(".aac")||c.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T"}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+l++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),h){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;f.5?y[x].toUpperCase():y[x];b+=y.substr(x),y=b}}this.imgList.push(y)}"inline"===d.display&&(d.display=""),s.ignore&&(d["max-width"]=d["max-width"]||"100%",s.style+=";-webkit-touch-callout:none"),parseInt(d.width)>o&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",d.height&&!d.height.includes("auto")&&(i.h="T")))}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var w in d)d[w]&&(s.style+=";".concat(w,":").concat(d[w].replace(" !important","")));s.style=s.style.substr(1)||void 0}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i)},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}})}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&swan.setNavigationBarTitle({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1)}if("svg"===t.name){if(this.xml>1)return void this.xml--;var h="",l=i.style;return i.style="",i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(h+=i.text);var s=a.svgDict[i.name]||i.name;h+="<"+s;for(var e in i.attrs){var n=i.attrs[e];n&&(h+=" ".concat(a.svgDict[e]||e,'="').concat(n,'"'))}if(i.children){h+=">";for(var r=0;r"}else h+="/>"}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+h.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1)}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),i.dir&&(c.direction=i.dir,i.dir=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["xx-small","x-small","small","medium","large","x-large","xx-large"][d-1]),i.size=void 0}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>o&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i)}else this.i++},e.prototype.tagName=function(){if(h[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));h[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text}else this.i++},module.exports=s; \ No newline at end of file +"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1)}return t}function s(t){this.options=t.data||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0}function e(t){this.handler=t}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"},svgDict:{animatetransform:"animateTransform",lineargradient:"linearGradient",viewbox:"viewBox",attributename:"attributeName",repeatcount:"repeatCount",repeatdur:"repeatDur"}},n={},r=swan.getSystemInfoSync(),o=r.windowWidth,h=t(" ,\r,\n,\t,\f"),l=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if(i.c||"a"===i.name||"video"===i.name||"audio"===i.name)return;i.c=1}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||h[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p))}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*o/750+"px"}));e[c]=d}}}return t.attrs.style=a,e},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1)},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T")},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t)},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,h=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var c=s.src||"";c.includes(".mp4")||c.includes(".3gp")||c.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(c.includes(".mp3")||c.includes(".wav")||c.includes(".aac")||c.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T"}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+l++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),h){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;f.5?y[x].toUpperCase():y[x];b+=y.substr(x),y=b}}this.imgList.push(y)}"inline"===d.display&&(d.display=""),s.ignore&&(d["max-width"]=d["max-width"]||"100%",s.style+=";-webkit-touch-callout:none"),parseInt(d.width)>o&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",isNaN(parseInt(d.height))||(i.h="T")))}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var w in d)d[w]&&(s.style+=";".concat(w,":").concat(d[w].replace(" !important","")));s.style=s.style.substr(1)||void 0}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i)},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}})}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&swan.setNavigationBarTitle({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1)}if("svg"===t.name){if(this.xml>1)return void this.xml--;var h="",l=i.style;return i.style="",i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(h+=i.text);var s=a.svgDict[i.name]||i.name;h+="<"+s;for(var e in i.attrs){var n=i.attrs[e];n&&(h+=" ".concat(a.svgDict[e]||e,'="').concat(n,'"'))}if(i.children){h+=">";for(var r=0;r"}else h+="/>"}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+h.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1)}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),i.dir&&(c.direction=i.dir,i.dir=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["x-small","small","medium","large","x-large","xx-large","xxx-large"][d-1]),i.size=void 0}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>o&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i)}else this.i++},e.prototype.tagName=function(){if(h[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));h[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text}else this.i++},module.exports=s; \ No newline at end of file diff --git a/dist/mp-qq/index.js b/dist/mp-qq/index.js index b26ef9be..931fa2e0 100644 --- a/dist/mp-qq/index.js +++ b/dist/mp-qq/index.js @@ -1,5 +1,5 @@ "use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}/*! - * mp-html v2.2.0 + * mp-html v2.2.1 * https://github.com/jin-yufeng/mp-html * * Released under the MIT license diff --git a/dist/mp-qq/parser.js b/dist/mp-qq/parser.js index 2a455d65..0a9d6fa7 100644 --- a/dist/mp-qq/parser.js +++ b/dist/mp-qq/parser.js @@ -1 +1 @@ -"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1)}return t}function s(t){this.options=t.data||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0}function e(t){this.handler=t}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"},svgDict:{animatetransform:"animateTransform",lineargradient:"linearGradient",viewbox:"viewBox",attributename:"attributeName",repeatcount:"repeatCount",repeatdur:"repeatDur"}},n={},r=qq.getSystemInfoSync(),o=r.windowWidth,h=t(" ,\r,\n,\t,\f"),l=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if(i.c||"a"===i.name||"video"===i.name||"audio"===i.name)return;i.c=1}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||h[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p))}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*o/750+"px"}));e[c]=d}}}return t.attrs.style=a,e},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1)},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T")},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t)},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,h=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var c=s.src||"";c.includes(".mp4")||c.includes(".3gp")||c.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(c.includes(".mp3")||c.includes(".wav")||c.includes(".aac")||c.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T"}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+l++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),h){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;f.5?y[x].toUpperCase():y[x];b+=y.substr(x),y=b}}this.imgList.push(y)}"inline"===d.display&&(d.display=""),s.ignore&&(d["max-width"]=d["max-width"]||"100%",s.style+=";-webkit-touch-callout:none"),parseInt(d.width)>o&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",d.height&&!d.height.includes("auto")&&(i.h="T")))}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var w in d)d[w]&&(s.style+=";".concat(w,":").concat(d[w].replace(" !important","")));s.style=s.style.substr(1)||void 0}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i)},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}})}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&qq.setNavigationBarTitle({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1)}if("svg"===t.name){if(this.xml>1)return void this.xml--;var h="",l=i.style;return i.style="",i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(h+=i.text);var s=a.svgDict[i.name]||i.name;h+="<"+s;for(var e in i.attrs){var n=i.attrs[e];n&&(h+=" ".concat(a.svgDict[e]||e,'="').concat(n,'"'))}if(i.children){h+=">";for(var r=0;r"}else h+="/>"}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+h.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1)}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),i.dir&&(c.direction=i.dir,i.dir=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["xx-small","x-small","small","medium","large","x-large","xx-large"][d-1]),i.size=void 0}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>o&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i)}else this.i++},e.prototype.tagName=function(){if(h[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));h[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text}else this.i++},module.exports=s; \ No newline at end of file +"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1)}return t}function s(t){this.options=t.data||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0}function e(t){this.handler=t}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"},svgDict:{animatetransform:"animateTransform",lineargradient:"linearGradient",viewbox:"viewBox",attributename:"attributeName",repeatcount:"repeatCount",repeatdur:"repeatDur"}},n={},r=qq.getSystemInfoSync(),o=r.windowWidth,h=t(" ,\r,\n,\t,\f"),l=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if(i.c||"a"===i.name||"video"===i.name||"audio"===i.name)return;i.c=1}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||h[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p))}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*o/750+"px"}));e[c]=d}}}return t.attrs.style=a,e},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1)},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T")},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t)},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,h=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var c=s.src||"";c.includes(".mp4")||c.includes(".3gp")||c.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(c.includes(".mp3")||c.includes(".wav")||c.includes(".aac")||c.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T"}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+l++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),h){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;f.5?y[x].toUpperCase():y[x];b+=y.substr(x),y=b}}this.imgList.push(y)}"inline"===d.display&&(d.display=""),s.ignore&&(d["max-width"]=d["max-width"]||"100%",s.style+=";-webkit-touch-callout:none"),parseInt(d.width)>o&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",isNaN(parseInt(d.height))||(i.h="T")))}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var w in d)d[w]&&(s.style+=";".concat(w,":").concat(d[w].replace(" !important","")));s.style=s.style.substr(1)||void 0}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i)},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}})}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&qq.setNavigationBarTitle({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1)}if("svg"===t.name){if(this.xml>1)return void this.xml--;var h="",l=i.style;return i.style="",i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(h+=i.text);var s=a.svgDict[i.name]||i.name;h+="<"+s;for(var e in i.attrs){var n=i.attrs[e];n&&(h+=" ".concat(a.svgDict[e]||e,'="').concat(n,'"'))}if(i.children){h+=">";for(var r=0;r"}else h+="/>"}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+h.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1)}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),i.dir&&(c.direction=i.dir,i.dir=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["x-small","small","medium","large","x-large","xx-large","xxx-large"][d-1]),i.size=void 0}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>o&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i)}else this.i++},e.prototype.tagName=function(){if(h[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));h[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text}else this.i++},module.exports=s; \ No newline at end of file diff --git a/dist/mp-toutiao/index.js b/dist/mp-toutiao/index.js index e2a9a107..85f43d88 100644 --- a/dist/mp-toutiao/index.js +++ b/dist/mp-toutiao/index.js @@ -1,5 +1,5 @@ "use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}/*! - * mp-html v2.2.0 + * mp-html v2.2.1 * https://github.com/jin-yufeng/mp-html * * Released under the MIT license diff --git a/dist/mp-toutiao/parser.js b/dist/mp-toutiao/parser.js index 6bd97322..0545afa8 100644 --- a/dist/mp-toutiao/parser.js +++ b/dist/mp-toutiao/parser.js @@ -1 +1 @@ -"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1)}return t}function s(t){this.options=t.data||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0}function e(t){this.handler=t}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"},svgDict:{animatetransform:"animateTransform",lineargradient:"linearGradient",viewbox:"viewBox",attributename:"attributeName",repeatcount:"repeatCount",repeatdur:"repeatDur"}},n={},r=tt.getSystemInfoSync(),o=r.windowWidth,h=t(" ,\r,\n,\t,\f"),l=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if(i.c||"a"===i.name||"video"===i.name||"audio"===i.name)return;i.c=1}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||h[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p))}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*o/750+"px"}));e[c]=d}}}return t.attrs.style=a,e},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1)},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T")},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t)},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,h=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var c=s.src||"";c.includes(".mp4")||c.includes(".3gp")||c.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(c.includes(".mp3")||c.includes(".wav")||c.includes(".aac")||c.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T"}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+l++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),h){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;f.5?y[x].toUpperCase():y[x];b+=y.substr(x),y=b}}this.imgList.push(y)}"inline"===d.display&&(d.display=""),s.ignore&&(d["max-width"]=d["max-width"]||"100%",s.style+=";-webkit-touch-callout:none"),parseInt(d.width)>o&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",d.height&&!d.height.includes("auto")&&(i.h="T")))}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var w in d)d[w]&&(s.style+=";".concat(w,":").concat(d[w].replace(" !important","")));s.style=s.style.substr(1)||void 0}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i)},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}})}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&tt.setNavigationBarTitle({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1)}if("svg"===t.name){if(this.xml>1)return void this.xml--;var h="",l=i.style;return i.style="",i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(h+=i.text);var s=a.svgDict[i.name]||i.name;h+="<"+s;for(var e in i.attrs){var n=i.attrs[e];n&&(h+=" ".concat(a.svgDict[e]||e,'="').concat(n,'"'))}if(i.children){h+=">";for(var r=0;r"}else h+="/>"}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+h.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1)}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),i.dir&&(c.direction=i.dir,i.dir=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["xx-small","x-small","small","medium","large","x-large","xx-large"][d-1]),i.size=void 0}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>o&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i)}else this.i++},e.prototype.tagName=function(){if(h[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));h[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text}else this.i++},module.exports=s; \ No newline at end of file +"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1)}return t}function s(t){this.options=t.data||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0}function e(t){this.handler=t}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"},svgDict:{animatetransform:"animateTransform",lineargradient:"linearGradient",viewbox:"viewBox",attributename:"attributeName",repeatcount:"repeatCount",repeatdur:"repeatDur"}},n={},r=tt.getSystemInfoSync(),o=r.windowWidth,h=t(" ,\r,\n,\t,\f"),l=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if(i.c||"a"===i.name||"video"===i.name||"audio"===i.name)return;i.c=1}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||h[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p))}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*o/750+"px"}));e[c]=d}}}return t.attrs.style=a,e},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1)},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T")},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t)},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,h=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var c=s.src||"";c.includes(".mp4")||c.includes(".3gp")||c.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(c.includes(".mp3")||c.includes(".wav")||c.includes(".aac")||c.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T"}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+l++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),h){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;f.5?y[x].toUpperCase():y[x];b+=y.substr(x),y=b}}this.imgList.push(y)}"inline"===d.display&&(d.display=""),s.ignore&&(d["max-width"]=d["max-width"]||"100%",s.style+=";-webkit-touch-callout:none"),parseInt(d.width)>o&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",isNaN(parseInt(d.height))||(i.h="T")))}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var w in d)d[w]&&(s.style+=";".concat(w,":").concat(d[w].replace(" !important","")));s.style=s.style.substr(1)||void 0}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i)},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}})}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&tt.setNavigationBarTitle({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1)}if("svg"===t.name){if(this.xml>1)return void this.xml--;var h="",l=i.style;return i.style="",i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(h+=i.text);var s=a.svgDict[i.name]||i.name;h+="<"+s;for(var e in i.attrs){var n=i.attrs[e];n&&(h+=" ".concat(a.svgDict[e]||e,'="').concat(n,'"'))}if(i.children){h+=">";for(var r=0;r"}else h+="/>"}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+h.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1)}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),i.dir&&(c.direction=i.dir,i.dir=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["x-small","small","medium","large","x-large","xx-large","xxx-large"][d-1]),i.size=void 0}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>o&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i)}else this.i++},e.prototype.tagName=function(){if(h[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));h[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text}else this.i++},module.exports=s; \ No newline at end of file diff --git a/dist/mp-weixin/index.js b/dist/mp-weixin/index.js index f102bba8..30443a0a 100644 --- a/dist/mp-weixin/index.js +++ b/dist/mp-weixin/index.js @@ -1,5 +1,5 @@ "use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}/*! - * mp-html v2.2.0 + * mp-html v2.2.1 * https://github.com/jin-yufeng/mp-html * * Released under the MIT license diff --git a/dist/mp-weixin/parser.js b/dist/mp-weixin/parser.js index 56579446..b9a93600 100644 --- a/dist/mp-weixin/parser.js +++ b/dist/mp-weixin/parser.js @@ -1 +1 @@ -"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1)}return t}function s(t){this.options=t.data||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0}function e(t){this.handler=t}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"},svgDict:{animatetransform:"animateTransform",lineargradient:"linearGradient",viewbox:"viewBox",attributename:"attributeName",repeatcount:"repeatCount",repeatdur:"repeatDur"}},n={},r=wx.getSystemInfoSync(),o=r.windowWidth,h=r.system,l=t(" ,\r,\n,\t,\f"),c=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if(i.c||"a"===i.name||"video"===i.name||"audio"===i.name)return;i.c=1}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||l[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p))}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*o/750+"px"}));e[c]=d}}}return t.attrs.style=a,e},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1)},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T")},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t)},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,h=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var l=s.src||"";l.includes(".mp4")||l.includes(".3gp")||l.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(l.includes(".mp3")||l.includes(".wav")||l.includes(".aac")||l.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T"}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+c++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),h){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;f.5?y[x].toUpperCase():y[x];b+=y.substr(x),y=b}}this.imgList.push(y)}"inline"===d.display&&(d.display=""),s.ignore&&(d["max-width"]=d["max-width"]||"100%",s.style+=";-webkit-touch-callout:none"),parseInt(d.width)>o&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",d.height&&!d.height.includes("auto")&&(i.h="T")))}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var w in d)d[w]&&(s.style+=";".concat(w,":").concat(d[w].replace(" !important","")));s.style=s.style.substr(1)||void 0}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i)},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}})}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&wx.setNavigationBarTitle({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1)}if("svg"===t.name){if(this.xml>1)return void this.xml--;var h="",l=i.style;return i.style="",i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(h+=i.text);var s=a.svgDict[i.name]||i.name;h+="<"+s;for(var e in i.attrs){var n=i.attrs[e];n&&(h+=" ".concat(a.svgDict[e]||e,'="').concat(n,'"'))}if(i.children){h+=">";for(var r=0;r"}else h+="/>"}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+h.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1)}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),i.dir&&(c.direction=i.dir,i.dir=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["xx-small","x-small","small","medium","large","x-large","xx-large"][d-1]),i.size=void 0}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>o&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i)}else this.i++},e.prototype.tagName=function(){if(l[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));l[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text}else this.i++},module.exports=s; \ No newline at end of file +"use strict";function t(t){for(var i=Object.create(null),s=t.split(","),e=s.length;e--;)i[s[e]]=!0;return i}function i(t,i){for(var s=t.indexOf("&");-1!==s;){var e=t.indexOf(";",s+3),n=void 0;if(-1===e)break;"#"===t[s+1]?(n=parseInt(("x"===t[s+2]?"0":"")+t.substring(s+2,e)),isNaN(n)||(t=t.substr(0,s)+String.fromCharCode(n)+t.substr(e+1))):(n=t.substring(s+1,e),(a.entities[n]||"amp"===n&&i)&&(t=t.substr(0,s)+(a.entities[n]||"&")+t.substr(e+1))),s=t.indexOf("&",s+1)}return t}function s(t){this.options=t.data||{},this.tagStyle=Object.assign({},a.tagStyle,this.options.tagStyle),this.imgList=t.imgList||[],this.plugins=t.plugins||[],this.attrs=Object.create(null),this.stack=[],this.nodes=[],this.pre=(this.options.containerStyle||"").includes("white-space")&&this.options.containerStyle.includes("pre")?2:0}function e(t){this.handler=t}var a={trustTags:t("a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,ruby,rt,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video"),blockTags:t("address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section"),ignoreTags:t("area,base,canvas,embed,frame,head,iframe,input,link,map,meta,param,rp,script,source,style,textarea,title,track,wbr"),voidTags:t("area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr"),entities:{lt:"<",gt:">",quot:'"',apos:"'",ensp:" ",emsp:" ",nbsp:" ",semi:";",ndash:"–",mdash:"—",middot:"·",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",hellip:"…"},tagStyle:{address:"font-style:italic",big:"display:inline;font-size:1.2em",caption:"display:table-caption;text-align:center",center:"text-align:center",cite:"font-style:italic",dd:"margin-left:40px",mark:"background-color:yellow",pre:"font-family:monospace;white-space:pre",s:"text-decoration:line-through",small:"display:inline;font-size:0.8em",strike:"text-decoration:line-through",u:"text-decoration:underline"},svgDict:{animatetransform:"animateTransform",lineargradient:"linearGradient",viewbox:"viewBox",attributename:"attributeName",repeatcount:"repeatCount",repeatdur:"repeatDur"}},n={},r=wx.getSystemInfoSync(),o=r.windowWidth,h=r.system,l=t(" ,\r,\n,\t,\f"),c=0;s.prototype.parse=function(t){for(var i=this.plugins.length;i--;)this.plugins[i].onUpdate&&(t=this.plugins[i].onUpdate(t,a)||t);for(new e(this).parse(t);this.stack.length;)this.popNode();return this.nodes},s.prototype.expose=function(){for(var t=this.stack.length;t--;){var i=this.stack[t];if(i.c||"a"===i.name||"video"===i.name||"audio"===i.name)return;i.c=1}},s.prototype.hook=function(t){for(var i=this.plugins.length;i--;)if(this.plugins[i].onParse&&!1===this.plugins[i].onParse(t,this))return!1;return!0},s.prototype.getUrl=function(t){var i=this.options.domain;return"/"===t[0]?"/"===t[1]?t=(i?i.split("://")[0]:"http")+":"+t:i&&(t=i+t):!i||t.includes("data:")||t.includes("://")||(t=i+"/"+t),t},s.prototype.parseStyle=function(t){var i=t.attrs,s=(this.tagStyle[t.name]||"").split(";").concat((i.style||"").split(";")),e={},a="";i.id&&!this.xml&&(this.options.useAnchor?this.expose():"img"!==t.name&&"a"!==t.name&&"video"!==t.name&&"audio"!==t.name&&(i.id=void 0)),i.width&&(e.width=parseFloat(i.width)+(i.width.includes("%")?"%":"px"),i.width=void 0),i.height&&(e.height=parseFloat(i.height)+(i.height.includes("%")?"%":"px"),i.height=void 0);for(var n=0,r=s.length;n0||d.includes("safe"))a+=";".concat(c,":").concat(d);else if(!e[c]||d.includes("import")||!e[c].includes("import")){if(d.includes("url")){var p=d.indexOf("(")+1;if(p){for(;'"'===d[p]||"'"===d[p]||l[d[p]];)p++;d=d.substr(0,p)+this.getUrl(d.substr(p))}}else d.includes("rpx")&&(d=d.replace(/[0-9.]+\s*rpx/g,function(t){return parseFloat(t)*o/750+"px"}));e[c]=d}}}return t.attrs.style=a,e},s.prototype.onTagName=function(t){this.tagName=this.xml?t:t.toLowerCase(),"svg"===this.tagName&&(this.xml=(this.xml||0)+1)},s.prototype.onAttrName=function(t){t=this.xml?t:t.toLowerCase(),"data-"===t.substr(0,5)?"data-src"!==t||this.attrs.src?"img"===this.tagName||"a"===this.tagName?this.attrName=t:this.attrName=void 0:this.attrName="src":(this.attrName=t,this.attrs[t]="T")},s.prototype.onAttrVal=function(t){var s=this.attrName||"";"style"===s||"href"===s?this.attrs[s]=i(t,!0):s.includes("src")?this.attrs[s]=this.getUrl(i(t,!0)):s&&(this.attrs[s]=t)},s.prototype.onOpenTag=function(t){var i=Object.create(null);i.name=this.tagName,i.attrs=this.attrs,this.attrs=Object.create(null);var s=i.attrs,e=this.stack[this.stack.length-1],r=e?e.children:this.nodes,h=this.xml?t:a.voidTags[i.name];if(n[i.name]&&(s.class=n[i.name]+(s.class?" "+s.class:"")),"embed"===i.name){var l=s.src||"";l.includes(".mp4")||l.includes(".3gp")||l.includes(".m3u8")||(s.type||"").includes("video")?i.name="video":(l.includes(".mp3")||l.includes(".wav")||l.includes(".aac")||l.includes(".m4a")||(s.type||"").includes("audio"))&&(i.name="audio"),s.autostart&&(s.autoplay="T"),s.controls="T"}if("video"!==i.name&&"audio"!==i.name||("video"!==i.name||s.id||(s.id="v"+c++),s.controls||s.autoplay||(s.controls="T"),i.src=[],s.src&&(i.src.push(s.src),s.src=void 0),this.expose()),h){if(!this.hook(i)||a.ignoreTags[i.name])return void("base"!==i.name||this.options.domain?"source"===i.name&&e&&("video"===e.name||"audio"===e.name)&&s.src&&e.src.push(s.src):this.options.domain=s.href);var d=this.parseStyle(i);if("img"===i.name){if(s.src&&(s.src.includes("webp")&&(i.webp="T"),s.src.includes("data:")&&!s["original-src"]&&(s.ignore="T"),!s.ignore||i.webp||s.src.includes("cloud://"))){for(var p=this.stack.length;p--;){var u=this.stack[p];if("a"===u.name){i.a=u.attrs;break}var g=u.attrs.style||"";if(!g.includes("flex:")||g.includes("flex:0")||g.includes("flex: 0")||d.width&&d.width.includes("%"))if(g.includes("flex")&&"100%"===d.width)for(var f=p+1;f.5?y[x].toUpperCase():y[x];b+=y.substr(x),y=b}}this.imgList.push(y)}"inline"===d.display&&(d.display=""),s.ignore&&(d["max-width"]=d["max-width"]||"100%",s.style+=";-webkit-touch-callout:none"),parseInt(d.width)>o&&(d.height=void 0),d.width&&(d.width.includes("auto")?d.width="":(i.w="T",isNaN(parseInt(d.height))||(i.h="T")))}else if("svg"===i.name)return r.push(i),this.stack.push(i),void this.popNode();for(var w in d)d[w]&&(s.style+=";".concat(w,":").concat(d[w].replace(" !important","")));s.style=s.style.substr(1)||void 0}else("pre"===i.name||(s.style||"").includes("white-space")&&s.style.includes("pre"))&&2!==this.pre&&(this.pre=i.pre=1),i.children=[],this.stack.push(i);r.push(i)},s.prototype.onCloseTag=function(t){t=this.xml?t:t.toLowerCase();var i;for(i=this.stack.length;i--&&this.stack[i].name!==t;);if(-1!==i)for(;this.stack.length>i;)this.popNode();else if("p"===t||"br"===t){var s=this.stack.length?this.stack[this.stack.length-1].children:this.nodes;s.push({name:t,attrs:{class:n[t],style:this.tagStyle[t]}})}},s.prototype.popNode=function(){var t=this.stack.pop(),i=t.attrs,s=t.children,e=this.stack[this.stack.length-1],n=e?e.children:this.nodes;if(!this.hook(t)||a.ignoreTags[t.name])return"title"===t.name&&s.length&&"text"===s[0].type&&this.options.setTitle&&wx.setNavigationBarTitle({title:s[0].text}),void n.pop();if(t.pre&&2!==this.pre){this.pre=t.pre=void 0;for(var r=this.stack.length;r--;)this.stack[r].pre&&(this.pre=1)}if("svg"===t.name){if(this.xml>1)return void this.xml--;var h="",l=i.style;return i.style="",i.xmlns="http://www.w3.org/2000/svg",function t(i){if("text"===i.type)return void(h+=i.text);var s=a.svgDict[i.name]||i.name;h+="<"+s;for(var e in i.attrs){var n=i.attrs[e];n&&(h+=" ".concat(a.svgDict[e]||e,'="').concat(n,'"'))}if(i.children){h+=">";for(var r=0;r"}else h+="/>"}(t),t.name="img",t.attrs={src:"data:image/svg+xml;utf8,"+h.replace(/#/g,"%23"),style:l,ignore:"T"},t.children=void 0,void(this.xml=!1)}var c={};if(i.align&&("table"===t.name?"center"===i.align?c["margin-inline-start"]=c["margin-inline-end"]="auto":c.float=i.align:c["text-align"]=i.align,i.align=void 0),i.dir&&(c.direction=i.dir,i.dir=void 0),"font"===t.name&&(i.color&&(c.color=i.color,i.color=void 0),i.face&&(c["font-family"]=i.face,i.face=void 0),i.size)){var d=parseInt(i.size);isNaN(d)||(d<1?d=1:d>7&&(d=7),c["font-size"]=["x-small","small","medium","large","x-large","xx-large","xxx-large"][d-1]),i.size=void 0}if((i.class||"").includes("align-center")&&(c["text-align"]="center"),Object.assign(c,this.parseStyle(t)),"table"!==t.name&&parseInt(c.width)>o&&(c["max-width"]="100%",c["box-sizing"]="border-box"),a.blockTags[t.name])t.name="div";else if(a.trustTags[t.name]||this.xml)if("a"===t.name||"ad"===t.name)this.expose();else if("video"===t.name||"audio"===t.name)t.children=void 0;else if("ul"!==t.name&&"ol"!==t.name||!t.c){if("table"===t.name){var p=parseFloat(i.cellpadding),u=parseFloat(i.cellspacing),g=parseFloat(i.border);if(t.c&&(isNaN(p)&&(p=2),isNaN(u)&&(u=2)),g&&(i.style+=";border:"+g+"px solid gray"),t.flag&&t.c){t.flag=void 0,c.display="grid",u?(c["grid-gap"]=u+"px",c.padding=u+"px"):g&&(i.style+=";border-left:0;border-top:0");var f=[],m=[],v=[],y={};!function t(i){for(var s=0;s"===this.content[this.i]||i&&">"===this.content[this.i+1])&&(t&&this.handler[t](this.content.substring(this.start,this.i)),this.i+=i?2:1,this.start=this.i,this.handler.onOpenTag(i),"script"===this.handler.tagName?(this.i=this.content.indexOf("="a"&&t<="z"||t>="A"&&t<="Z")this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i)),this.start=++this.i,this.state=this.tagName;else if("/"===t||"!"===t||"?"===t){this.start!==this.i&&this.handler.onText(this.content.substring(this.start,this.i));var i=this.content[this.i+2];if("/"===t&&(i>="a"&&i<="z"||i>="A"&&i<="Z"))return this.i+=2,this.start=this.i,void(this.state=this.endTag);var s="--\x3e";"!"===t&&"-"===this.content[this.i+2]&&"-"===this.content[this.i+3]||(s=">"),this.i=this.content.indexOf(s,this.i),-1!==this.i&&(this.i+=s.length,this.start=this.i)}else this.i++},e.prototype.tagName=function(){if(l[this.content[this.i]]){for(this.handler.onTagName(this.content.substring(this.start,this.i));l[this.content[++this.i]];);this.i"===t||"/"===t){if(this.handler.onCloseTag(this.content.substring(this.start,this.i)),">"!==t&&(this.i=this.content.indexOf(">",this.i),-1===this.i))return;this.start=++this.i,this.state=this.text}else this.i++},module.exports=s; \ No newline at end of file diff --git a/dist/uni-app/components/mp-html/mp-html.vue b/dist/uni-app/components/mp-html/mp-html.vue index 96f0255a..4de82513 100644 --- a/dist/uni-app/components/mp-html/mp-html.vue +++ b/dist/uni-app/components/mp-html/mp-html.vue @@ -12,7 +12,7 @@ \ No newline at end of file +
\ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 8b66f1ed..804da56a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -31,13 +31,13 @@ |:---:|:---:|:---:|:---:|:---:|:---:| | ![富文本插件](assets/case/富文本插件.jpg) | ![欢喜商城](assets/case/欢喜商城.png) | ![多么生活](assets/case/多么生活.jpg) | ![全品作业小助手](assets/case/全品作业小助手.jpg) | ![米兔旅行](assets/case/米兔旅行.png) | ![食法查](assets/case/食法查.png) | -| 微慕 | 古典文学名著阅读 | 程序员技术之旅 | 典典博客 | APP 比比 | Geek 时代 | +| 微慕 | 古典文学名著阅读 | 程序员技术之旅 | 典典博客 | Geek 时代 | 源创智造 | |:---:|:---:|:---:|:---:|:---:|:---:| -| ![微慕](assets/case/微慕.jpg) | ![古典文学名著阅读](assets/case/古典文学名著阅读.jpg) | ![程序员技术之旅](assets/case/程序员技术之旅.jpg) | ![典典博客](assets/case/典典博客.jpg) | ![APP比比](assets/case/APP比比.jpg) | ![Geek时代](assets/case/Geek时代.jpg) | +| ![微慕](assets/case/微慕.jpg) | ![古典文学名著阅读](assets/case/古典文学名著阅读.jpg) | ![程序员技术之旅](assets/case/程序员技术之旅.jpg) | ![典典博客](assets/case/典典博客.jpg) | ![Geek时代](assets/case/Geek时代.jpg) | ![源创智造](assets/case/源创智造.png) | -| 源创智造 | 备忘录与记事本 | 优秀笔记 | 365 刷题 | 同城共享书 | 技术源 share | +| 备忘录与记事本 | 优秀笔记 | 365 刷题 | 同城共享书 | 技术源 share | 周仙神 | |:---:|:---:|:---:|:---:|:---:|:---:| -| ![源创智造](assets/case/源创智造.png) | ![备忘录与记事本](assets/case/备忘录与记事本.jpg) | ![优秀笔记](assets/case/优秀笔记.jpg) | ![365刷题](assets/case/365刷题.jpg) | ![同城共享书](assets/case/同城共享书.jpg) | ![技术源share](assets/case/技术源share.jpg) | +| ![源创智造](assets/case/源创智造.png) | ![备忘录与记事本](assets/case/备忘录与记事本.jpg) | ![优秀笔记](assets/case/优秀笔记.jpg) | ![365刷题](assets/case/365刷题.jpg) | ![同城共享书](assets/case/同城共享书.jpg) | ![技术源share](assets/case/技术源share.jpg) | ![周仙神](assets/case/周仙神.png) | 以上排名不分先后,更多可见 [使用案例收集](https://github.com/jin-yufeng/mp-html/issues/27)(欢迎添加) diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 32d0a4d7..f297f5c5 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](assets/logo/logo.png) -# mp-html 2.2.0 +# mp-html 2.2.1 > 一个强大的小程序富文本组件 diff --git a/docs/advanced/plugin.md b/docs/advanced/plugin.md index 52f01ddd..2d6207ea 100644 --- a/docs/advanced/plugin.md +++ b/docs/advanced/plugin.md @@ -41,7 +41,14 @@ ## editable 功能:富文本编辑 -大小:*≈14KB* +下表列出了本插件与原生 *editor* 组件的功能差异,可按需选用 + +| 组件 | 优点 | 缺点 | +|:---:|:---:|:---:| +| 原生 *editor* | 底层通过 *contenteditable* 实现,编辑流畅 | 支持标签少(不支持音视频、表格以及 *section* 等常用标签)、部分小程序平台不支持或低版本不兼容 | +| 本插件 | 支持标签全面、支持平台全面 | 编辑灵活性不够强 | + +大小:*≈17.5KB* 支持平台: | 微信小程序 | QQ 小程序 | 百度小程序 | 支付宝小程序 | 头条小程序 | uni-app | @@ -69,9 +76,11 @@ | 文本 | 修改 | | 图片 | 更换链接、调整宽度、设置成超链接([2.0.4+](changelog/changelog#v204))、设置预览图链接、禁用预览、删除 | | 链接 | 更换链接、删除 | -| 音视频 | 设置封面、设置循环播放、、设置自动播放([2.2.0+](changelog/changelog#v220))删除 | +| 音视频 | 设置封面、设置循环播放、设置自动播放([2.2.0+](changelog/changelog#v220))、删除 | | 普通标签 | 设置字体大小、斜体、粗体、下划线([2.0.4+](changelog/changelog#v204))、居中、缩进、删除 | +?> [2.2.1](changelog/changelog#v221) 版本起所有标签支持上下移动操作,但仅限同级标签间移动,即在有同级标签且非第一个(或最后一个)时可以上移(或下移) + ?> 菜单项可以通过编辑 *plugins/editable/config.js* 进行修改,仅可以删减或调整顺序,添加或更名无效 [组件实例](advanced/api#getCompent) 上提供了以下方法(*editable* 属性为 *true* 时才可以调用): @@ -94,6 +103,9 @@ [2.2.0](changelog/changelog#v220) 版本起设置了 [domain](basic/prop#domain) 属性时,返回的地址可以缺省主域名 编辑完成后,通过 *getContent* 方法获取编辑后的 *html*,最后将 *editable* 属性设置为 *false* 即可正常渲染 + +!> 点击保存按钮时,部分平台 *tap* 事件早于 *blur* 事件触发,直接获取内容可能导致无法获取当前编辑的文本内容,因此建议设置一个小的延时后获取(可参考下方示例,[详细](https://github.com/jin-yufeng/mp-html/issues/368)) + 示例: ```javascript Page({ @@ -138,25 +150,27 @@ Page({ } }, finishEdit () { - var html = ctx.getContent() // 获取编辑好的 html - // 上传 html - wx.request({ - url: 'xxx', - data: { - html - }, - success: () => { - this.setData({ - editable: false // 结束编辑 - }) - } - }) + setTimeout(() => { + var html = ctx.getContent() // 获取编辑好的 html + // 上传 html + wx.request({ + url: 'xxx', + data: { + html + }, + success: () => { + this.setData({ + editable: false // 结束编辑 + }) + } + }) + }, 50) } }) ``` ##### 示例项目 :id=editable_demo -微信小程序点击 [代码片段](https://developers.weixin.qq.com/s/3kfslXmG7FtU) 即可在微信开发者工具中导入;*uni-app* 下载 [示例项目](https://6874-html-foe72-1259071903.tcb.qcloud.la/editable.zip?sign=cc0017be203fb3dbca62d33a0c15792e&t=1608447445) 在 *HBuilder X* 中打开即可体验;注意示例项目中不一定包含最新版本,仅供参考使用方法 +微信小程序点击 [代码片段](https://developers.weixin.qq.com/s/LI0RnNmm77vO) 即可在微信开发者工具中导入;*uni-app* 下载 [示例项目](https://6874-html-foe72-1259071903.tcb.qcloud.la/editable.zip?sign=cc0017be203fb3dbca62d33a0c15792e&t=1608447445) 在 *HBuilder X* 中打开即可体验;注意示例项目中不一定包含最新版本,仅供参考使用方法 注意事项: 不要在 *editable* 属性被设置为 *true* 前通过 [setContent](advanced/api#setContent) 方法(用 [content](basic/prop#content) 属性)设置内容,否则在切换为 *true* 后会变成空白 @@ -192,6 +206,8 @@ Page({ - *showLanguageName* 是否在代码块右上角显示语言的名称 - *showLineNumber* 是否在左侧显示行号 +!> 修改该配置后需要重新 [生成组件包](advanced/develop#pack),在构建后的组件包中修改配置无法生效 + 引入本插件后,*html* 中符合以下格式的 *pre* 将被高亮处理: ```html diff --git "a/docs/assets/case/APP\346\257\224\346\257\224.jpg" "b/docs/assets/case/APP\346\257\224\346\257\224.jpg" deleted file mode 100644 index d112d153ef138ec67102e96f823c390764847878..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20533 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 I2mUqjA1P+<%K!iX diff --git "a/docs/assets/case/\345\221\250\344\273\231\347\245\236.png" "b/docs/assets/case/\345\221\250\344\273\231\347\245\236.png" new file mode 100644 index 0000000000000000000000000000000000000000..d30c6fa6d84aedd7114098e62dfe6cf2611cc142 GIT binary patch literal 29688 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 BpF98n literal 0 HcmV?d00001 diff --git a/docs/basic/prop.md b/docs/basic/prop.md index 61874140..80778d4e 100644 --- a/docs/basic/prop.md +++ b/docs/basic/prop.md @@ -91,7 +91,8 @@ white-space: pre-line; /* 保留换行符 */ !> 将本属性的值设置为 *true* 在微信 *iOS* 端可能失效,[2.0.5](changelog/changelog#v205) 版本起支持将本属性设置为 "*force*" 来支持,但会带来以下影响: 1、所有文本块会显示为 *inline-block*(通过 [text](https://developers.weixin.qq.com/miniprogram/dev/component/text.html) 标签的 *user-select* 属性实现),需要自行适配 -2、所有文本块都无法被 *rich-text* 包含,一定程度上增加标签数,减慢渲染速度 +2、文字下划线、删除线等效果将失效([详细](https://github.com/jin-yufeng/mp-html/issues/382)) +3、所有文本块都无法被 *rich-text* 包含,一定程度上增加标签数,减慢渲染速度 ## set-title 功能:是否将 *title* 标签的内容设置到页面标题 diff --git a/docs/changelog/changelog.md b/docs/changelog/changelog.md index 8388f71f..a93b6422 100644 --- a/docs/changelog/changelog.md +++ b/docs/changelog/changelog.md @@ -1,5 +1,15 @@ # 📖 更新日志 :id=changelog +## v2.2.1 +发布时间:*2021-12-24* +主要更新: +1. `A` [editable](advanced/plugin#editable) 插件增加上下移动标签功能 +2. `U` [editable](advanced/plugin#editable) 插件支持在文本中间光标处插入内容 +3. `F` 修复了 `uni-app` 包 `nvue` 端设置 `margin` 后可能导致高度不正确的问题 +4. `F` 修复了 [highlight](advanced/plugin#highlight) 插件使用压缩版的 `prism.css` 可能导致背景失效的问题 [详细](https://github.com/jin-yufeng/mp-html/issues/367) +5. `F` 修复了 `uni-app` 包编辑状态下使用 [emoji](advanced/plugin#emoji) 插件内容为空时可能报错的问题 [详细](https://github.com/jin-yufeng/mp-html/issues/371) +6. `F` 修复了使用 [editable](advanced/plugin#editable) 插件后将 [selectable](basic/prop#selectable) 属性设置为 `force` 不生效的问题 + ## v2.2.0 发布时间:*2021-10-11* 主要更新: diff --git a/docs/overview/quickstart.md b/docs/overview/quickstart.md index 4641cd84..9b7f8573 100644 --- a/docs/overview/quickstart.md +++ b/docs/overview/quickstart.md @@ -81,10 +81,34 @@ ### 📘 uni-app 框架 :id=uni-app +#### uni-modules 方式 :id=uni-modules +?> 本方法需要使用 *3.1.0+* 版本的 *HBuilder X* 开发 + +1. 进入 [插件市场](https://ext.dcloud.net.cn/plugin?id=805),点击右上角的 *使用 HBuilder X 导入插件* 按钮导入项目或点击 *下载插件ZIP* 按钮下载插件包并解压到项目的 *uni_modules/mp-html* 目录下 +2. 在需要使用页面的 *(n)vue* 文件中添加 + ```vue + + + ``` +3. 需要更新版本时在 *HBuilder X* 中右键 *uni_modules/mp-html* 目录选择 *从插件市场更新* 即可 + #### 源码方式 :id=uni-app-source -1. 将 [源码](#source) 中 *dist/uni-app* 内的内容拷贝到 **项目根目录** 下 - - ?> 使用 *HBuilder X* 开发时,可以直接通过 [插件市场](https://ext.dcloud.net.cn/plugin?id=805) 导入 +1. 将 [源码](#source) 中 *dist/uni-app* 内的内容拷贝到 **项目根目录** 下 + + !> [插件市场](https://ext.dcloud.net.cn/plugin?id=805) 的 *非 uni_modules* 版本无法更新,请从其他方式获取 [源码](#source) 2. 在需要使用页面的 *(n)vue* 文件中添加 ```vue