小程序开发 webview 中无法获取参数的解决方法
小程序开发已经支持 web-view 的跳转,最近开发的一项功能正好APP与小程序均要使用,于是自然想到使用 web-view 的方式。场景是这样的: 用户打开APP/小程序,查看自己个人信息卡片,根据不同的 userid 返回不同的卡片样式。 H5实现 H5实现很简单,直接使用页面类似地址 https://xxx.com/xxx.html?userid=2345。 所以可以看出 2345 这个 userid 是需要我们动态传入的。 小程序实现 小程序中跳转 web-view 需要生成一个新的页面,然后里面嵌入一个 <web-view></web-view> 组件。 所以想当然的可以这样写: <web-view src="https://xxx.com/xxx.html?userid={{userid}}"></web-view> 其中 userid 我们需要在跳转之前传入,并在当前的 onLoad 中获取一下,代码如下: /** * 页面的初始数据 */ data: { userid: '' }, /** * 生命周期函数--监听页面加载 */ onLoad: function (option) { if (option.userid) { this.setData({ userid: option.userid }) } }, 遇到的问题 使用上面的方法在 iOS 下完美,但是在 Android 下经常会出现 H5 页面没有获取到 userid 的情况。后来思考了一下,应该是 <web-view> 组件在没有取到参数的情况下(也就是 onLoad 没有执行完成)的时候就已经打开了我们的 H5 页面。 继续阅读解决html2canvas的图片跨域问题
最近要做一个将当前HTML页面生成图片的功能,网上百度了一圈,确定了如下的解决方案。 使用html2canvas将HTML DOM节点转换成canvas 使用canvas的toDataURL方法将canvas转换成base64 github: niklasvh/html2canvas 图片跨域 在前端开发中,HTML中的 img 标签是默认支持跨域的,但是这个规则canvas不认。使用html2canvs转换canvas的时候,如果使用了不同域的图片就会报错。 针对这种情况的解决方案如下: 第一步:给 img 元素设置 crossOrigin 属性,值为 anonymous 或 *。 PS:这个html2canvas已经支持了这个配置项(version:1.0) useCORS: true 第二步:图片服务端设置允许跨域(返回 CORS 头)。 如果图片是自己服务器的,这么做很简单,可是如果是其他服务器的呢?比如微信头像。 图片资源转发 针对非自己服务器图片的情况下,可以使用 NodeJS 做一个中间层代理。代码如下: const router = require('express').Router(); const coWrap = require('../utils/coWrap'); var request = require('request'); router.get('/transferImage', coWrap(function* (req, res) { var path = req.query && req.query.path; return request.get(path).pipe(res); })); 使用 NodeJS 的 request 库可以方便的完成这个功能。使用方法如下: <img src="http://yourserver/prcImage/transferImage?path=https://yourimg.png"> 问题解决,以上。 参考 一次 H5 「保存页面为图片」 的踩坑之旅Weex的那些坑
750px就相当于100%了,不要问为什么。 字体单位用wx,设计图字体大小/2 选择器只支持单类名选择器 background-color写全了 less/sass/stylus之类的不用想太多,折腾还不如直接写纯css text 标签不要留空格,不信你可以试试,老爽了。使用SVG绘制饼图
年前的时候有个需求,要实现一个动态画大饼的效果。地址:退票潮来袭 捡漏最佳时间到
本来并不想做,都要过年了。结果设计师说他见过很多网页都有这效果应该很简单~咱是前端,人家都做出来的效果,那咱也能。。
继续阅读使用SVG实现动态签名效果
之前看过的svg动画的相关内容,想起了之前在flash中常见的一种动画–动态写文字。语言乏力,大约就是这么个样子:Flash模仿制作毛笔写字效果动画实例教程,所以就想用svg实现这么一个效果。
实现成这个鬼样子:尹全超-签名
继续阅读