Chrome extension input 性能问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lnanddj
V2EX    前端开发

Chrome extension input 性能问题

  •  1
     
  •   lnanddj 2020-03-21 14:10:14 +08:00 1962 次点击
    这是一个创建于 2043 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题描述

    input 表单再一个页面下出现非常非常严重的性能问题,输入非常卡顿,但是在其他页面引入该组件没有问题。另外,chrome 开发者工具调试性能开启后,瞬间丝滑。

    问题出现的环境背景及自己尝试过哪些方法

    环境 & 背景:

    基于 Vue + Vue router + vuex + Vant UI 开发的 Chrome extension, 一个 popup 页面。

    单独封装了一个 Rply.vue 的小组件,该组件很简单,只是显示一个输入框

    <template> <van-popup v-model="showreplyPopup" position="bottom" :lock-scroll="false" :overlay="false" overlay-class="reply-popup" :style="{ height: '10%' }"> <p>{{ replyContent }}</p> <form class="reply-popup-form"> <textarea type="text" v-model="replyContent" placeholder="请留下您想说的" class="reply-popup-field" /> </form> </van-popup> </template> <script> export default { name: 'Reply', data() { return { showreplyPopup: true, replyContent: null, }; }, methods: { }, } 

    在另外一个路由的单页引用该组件后,出现问题。但是,在最外层放置 router-viewApp.vue 直接引用该组件却没有问题。

    尝试

    ( 1 ) 起初怀疑是为了实现快捷键能力,监听了按键事件导致的

    export function keyDown(e) { const ESC_KEY_CODE = 27; const W_KEY_CODE = 87; const keyCode = e.which; const realKey = String.fromCharCode(e.which); console.log('按键码: ' + keyCode + ' 字符: ' + realKey); // 用户按下 Esc 键 if (keyCode === ESC_KEY_CODE) { e.preventDefault(); // 关闭图片预览 if (window.imagePreviewInstance) { window.imagePreviewInstance.close(); window.imagePreviewInstance = null; return; } // 路由回退一步 const meta = document.$router.history.current.meta; if (meta.routerLevel && meta.routerLevel > 1) { history.back(); } } // 按下 ctrl + w if (keyCode === W_KEY_CODE && (navigator.platform.match('Mac') ? e.metaKey : e.ctrlKey)) { e.preventDefault(); window.close(); } } document.Onkeydown= keyDown; 

    但是注释后问题依旧。 ( 2 )尝试使用 Chrome dev tool 的 Performance 排查,结果打开之后,瞬间就丝滑了起来,无果。 ( 3 )在打包后的 popup 文件夹直接浏览器打开页面,不使用 Chrome extension 方式打开,无卡顿。 ( 4 )不是浏览器卡了,尝试了重启浏览器。 ( 5 )怀疑是 vue 的双向绑定导致,去掉 v-model,输入还是卡顿。

    期待各位前端大神解答,或者给予排查的思路,非常感谢。

    3 条回复    2020-03-23 09:48:51 +08:00
    lnanddj
        1
    lnanddj  
    OP
       2020-03-21 14:35:50 +08:00
    有点奇怪的是,为啥使用 Chrome dev tool 的 Performance 排查的时候,就不卡了。。。
    lnanddj
        2
    lnanddj  
    OP
       2020-03-22 10:43:46 +08:00
    在线等
    lnanddj
        3
    lnanddj  
    OP
       2020-03-23 09:48:51 +08:00
    1
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     914 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 19:48 PVG 03:48 LAX 12:48 JFK 15:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86