百度小程序开发实战--踩坑经历

  1.  文章列表rich-text的图片宽度问题
        效果如下

       后端返回的数据格式为string,小程序对次采用了rich-text来识别传入的html
       rich-text推荐使用node的数组模式,字符串模式会影响解析速度(因为最终还是会转换为数组类型),但是后端返回的为string格式,是由后台编辑器传入的。

     这就导致了无法操作css中 rich-text 里边的图片样式。
     解决方法:
                   1. php端,在返回时修改返回的string
    $info['contents'] = str_replace(""$info['contents']);

                   2. 在js中处理返回的数据,但是增加了处理成本(采用此解决方案)
    that.setData({  contents: res.data.contents.replace(/\'

  2. 关于跳转外部页面的处理

    百度小程序给出了web-view这个标签来跳转外部的链接,但是web-view是自动打开新的页面,无法做到点击某个图片或者button,跳转打开新的页面

    由于小程序所有的跳转都是通过navigateTo这个对象来进行跳转的,但是这个对象只能跳转小程序内的page页面或者其他的百度小程序

    所以解决方案是,写一个page做一个web-view的承载页

     

     

     而在调用页,使用一个bindtap的方法执行page的切换,同时把要跳转的url传递过去

     


  3. 还是web-view的问题,直接写src的http链接是可以带参数的,但是通过调用中间页url的参数会报错,原因是传参会解析url 问号后边的参数,解决方法是先encodeURLComponent 一下

  4. 关于外部字体的引入
    视觉中有关于特殊字体的引入

    在小程序新建了一个样式表专门引入,但是踩的坑是,具体到组件的css引入后无效(page中是生效的),最好在最外层的app.css中引入
  5. 标签支持较少 只能限制使用view template button text等几个 ul li 等都不支持使用
  6. 不支持根据数据动态引入template  如
    解决方案: 根据block 判断加载不同的template