哎呦,这问题可真烦人啊!小编最近遇到了一个棘手的问题,就是在使用html2canvas的时候,发现它无法截取到带有自定义属性的HTML标签,而且还老是出现“网络错误”的提示,真的是气死人啊!
先说说关于自定义属性的问题,小编猜测是因为html2canvas默认只识别HTML标准属性,而自定义属性则不在其识别范围内,所以截图的时候就漏掉了这些带自定义属性的标签。解决方法也很简单,我们只需要在html2canvas的配置中添加一个属性“useCORS:true”,即可把自定义属性的标签截图出来。
再来讲讲网络错误的问题,这个问题我猜可能是因为html2canvas底层使用的是Canvas底层图形库,而Canvas自身有一些安全限制,如果网页中的图片或字体等跨域了,就会被Canvas拦截掉,导致截图出错。解决方法就是在图片节点上通过设置crossorigin属性或者服务器端设置响应头信息来解决跨域问题。
不过还有一种情况就比较棘手了,就是服务器端开启了HTTP2协议,而html2canvas使用的底层库是zepto.js,zepto.js对HTTP2协议支持不太友好,会导致网络错误。如果应用HTTP2协议的话,可以通过替换掉zepto.js来解决这个问题。
总之,遇到这种问题就得细心观察,一点点排除,最后才能找到真正的解决方法。不过,都说技术人员要耐心细心,经常加班不是吗?那就继续加班吧,反正今天又有新项目上线了! 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复