codon
codon
  • 发布:2025-06-24 19:39
  • 更新:2025-06-24 20:39
  • 阅读:64

canvas在Android 9 webview chrome/66.0.3359.158 不显示,是不支持?

分类:uni-app
2025-06-24 19:39 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

测试过其它安卓版本吗?另外使用的hbuilderx版本是多少?

  • codon (作者)

    hbuilderx : 4.57

    安卓10 chrome/91.0.4472.114测试了没问题,主要还是因为webview的浏览器内核版本太低了?

    2025-06-24 19:46

  • codon (作者)

    canvas dom上的touchmove事件是生效的,就会没绘制出内容

    2025-06-24 19:49

  • codon (作者)

    麻烦看下下面的demo

    2025-06-24 20:19

codon

codon (作者)

下图绘制一个矩形,在Android 9上无法显示,draw()的回调执行了

  • DCloud_UNI_yuhe

    你发一下文本,我看一下

    2025-06-24 20:27

  • codon (作者)


    <template>

    <view class="w-full h-full">

    <canvas

    id="canvasId"

    canvas-id="canvasId"
    class="w-[300px] h-[300px]"

    style="border: 2px solid red"

    @error="onError"

    />

    </view>

    </template>


    <script setup>

    import { onMounted } from 'vue'


    const canvasId = ref('testCanvas')

    onMounted(() => {

    const ctx = uni.createCanvasContext(canvasId.value)

    console.warn('====ctx====', ctx)

    ctx.setFillStyle('#00f')

    ctx.fillRect(0, 0, 200, 200)


    ctx.draw(false, () => {

    console.warn('===draw完成===')

    })

    })


    function onError(e) {

    console.warn('====onError====', e)

    }

    </script>


    <style scoped lang="scss">


    </style>

    2025-06-24 20:30

  • codon (作者)

    回复 DCloud_UNI_yuhe: 发你了,麻烦看下,我发现第二次进入canvas的页面,蓝色矩形绘制出来了,好奇怪,我延迟cxt.draw(),第一次进入页面仍然不显示蓝色矩形

    2025-06-24 20:31

  • codon (作者)

    回复 DCloud_UNI_yuhe: 绘制的效果截图我发在下面了

    2025-06-24 20:41

  • codon (作者)

    回复 DCloud_UNI_yuhe: 你好,请问有大概的解决思路了?

    2025-06-25 09:10

codon

codon (作者)

下面两张图,没显示蓝色矩形的是第一次打开这个页面的效果,第二次进入这个页面,就能正常显示蓝色矩形了。

我把App进程杀掉,重新打开App,再次打开页面又不显示蓝色矩形了,第二次打开又显示了

要回复问题请先登录注册