当前位置: 首页 > news >正文

旅游网网站建设目的企业培训公司有哪些

旅游网网站建设目的,企业培训公司有哪些,网站UI怎么做,建筑工程网络计划称为小程序不能使用各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作 原因:在小程序中,渲染层和逻辑层是分开的,分别运行在不同的线程中,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺…

小程序不能使用各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作

原因:在小程序中,渲染层和逻辑层是分开的,分别运行在不同的线程中,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API。

为什么要这样设计?

因为JavaScript是可操纵DOM的,如果JavaScript线程和UI线程同时运行,即在修改这些元素属性同时渲染界面,那么渲染线程前后获得的元素数据就可能不一致,导致传统web开发渲染线程和脚本线程是互斥的。于是当JavaScript引擎执行时GUI线程会被挂起,GUI更新会被保存在一个队列中等到引擎线程空闲时立即被执行。 因此长时间的脚本运行可能会导致页面失去响应。

小程序DOM操作API —— SelectQuery

浏览器中:

const demo= document.querySelector('#demo')
console.log(demo.boundingClientRect().top)

小程序中:

const query = wx.createSelectorQuery()
// 组件中:const query = wx.createSelectorQuery().in('组件id')
query.select('#demo').boundingClientRect()
query.exec(function (res) {console.log(res[0].top)
})

可以发现有三点明显的区别:

  • 通过createSelectorQuery创建了一个query对象而不是document.querySelector
  • 在query对象上执行查询操作并非马上执行,而是进入等待队列,直至query对象上exec被调用才触发查询行为
  • 查询结果是异步返回的,在callback中按查询顺序依次从参数中读取

第一点区别产生的原因是首先小程序双线程模型决定了业务代码中不能拿到document对象, 也就无法在上面调用相关查询方法。那为什么要通过调用createSelectorQuery()返回查询对象而不是把查询对象定义为全局的呢?这是因为小程序每个页面的视图层都对应一个webview,而所有的页面都共用一个逻辑线程,这种一对多的关系在通讯时需要有id来进行区分,所以每次createSelectorQuery时返回的query对象是绑定了当前视图层webview对应id的。

第二、三点的查询非立即执行,而是在exec被调用时真正触发比较好理解:业务代码在逻辑线程,真实dom在另一个webview线程,线程间的通讯需要借助宿主能力完成,query对象的exec方法被触发时小程序把callbak存储起来,然后调用native宿主暴露的方法去通讯,拿到webview线程查询回来的结果之后进行反序列化处理,传递给先前保存的callbak并开始执行,所以这里是异步的。

http://www.mmbaike.com/news/60076.html

相关文章:

  • 招聘网站开发人员郑州seo顾问外包公司
  • 中国移动积分兑换商城官方网站客户管理软件
  • 网站建设微站网络营销大赛策划书
  • 红网常德论坛seo公司是什么意思
  • 建设银行网站怎么登陆密码忘了怎么办模板建站平台
  • 淘宝联盟网站备案行业关键词搜索排名
  • 重庆哪里可以做网站的搜盘网
  • 自助搜优惠券网站怎么做的百度搜索关键词排行榜
  • 江西天亿建设有限公司网站百度seo排名教程
  • 附近的网站设计制作价格ip子域名大全
  • 上海 外贸网站百度上海分公司
  • 茂名公司网站建设软件开发交易平台
  • 国内旅游网站排行榜域名查询ip地址
  • 网站建设放什么科目今日关注
  • 免费注册网站的平台赤峰seo
  • 国外源代码网站seo值是什么意思
  • 天河网站建设专家世界杯积分榜排名
  • dedecms做模板网站百度下载
  • 做网站用的软件是什么了网站排名费用
  • 盱眙住房和城乡建设局网站百度文库网页版登录入口
  • 甘肃网站建设费用广东seo网络培训
  • amazon独立网站怎么做seo快速收录快速排名
  • mysql 连接wordpress中国seo网站
  • 服装网站建设百度推广账号注册
  • 装修平台哪家好厦门seo结算
  • 做网站付费流程武汉seo诊断
  • 一个网站同时做竞价和seo怎么开网站详细步骤
  • seo关键词优化技术优化搜索曝光次数的方法
  • 微信网站制作免费百度搜索引擎优化案例
  • 运营和营销的区别和联系百度关键词seo优化