亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第9天 JS bridge原理?

標簽:
JavaScript API

第一模块(课程信息):

课程名称:2周刷完100道前端优质面试真题
课程章节:第五章第十六节 请描述js bridge的实现原理?
主讲老师:双越

第二模块(课程内容):

课程内容概述

什么是JS Bridge?

  • js无法直接调用native API
  • 需要通过一些特定的“格式”来调用
  • 这些“格式”就统称JS-Bridge,例如微信JSSDK

图片描述

例如:

  • app中打开h5页面,app中内嵌webview,然后展示h5页面内容;
  • chrome浏览器中也是有webview来承载页面内容;

h5想要调用app的拍照、扫一扫等方法,需要穿透webview去调用原生app的方法,就需要JS-Bridge方法。

JS Bridge的常见实现方式

  • 注册全局api
  • URL Scheme
const version = window.getVersion();//同步
//异步的情况
const iframe = document.getElementById('iframe1');
iframe.src = 'my-app-name://api/getVersion';//URL Scheme
//封装JS-Bridge
const sdk = {
  invoke(url,data={},onSuccess,onError){
	  const iframe = document.createElement('iframe');
	  iframe.style.visibility = 'hidden';
	  document.body.appebdChild(iframe);
	  iframe.onload = () =>{
	      const content = iframe1.contentWindow.document.body.innerHTML;
	      onSuccess(JSON.parse(content))
	      iframe.remove();
      }
      iframe.onError = () =>{
        onError();
        iframe.remove();
      }
      iframe.src = `my-app-name://${url}?data=${JSON.stringify(data)}`
  }
}

第三模块(学习心得):

更加系统的学习了h5与页面的通讯方式以及原理

第四模块(课程截图):

图片描述

图片描述
图片描述

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
11
獲贊與收藏
8

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消