天天看點

H5與Android和ios的互動

背景:H5頁面是用uniapp來寫的,嵌套在原生APP内,H5頁面有一個下載下傳檔案的功能,按平時下載下傳功能直接把檔案連結寫在a 标簽的href,點選就會直接下載下傳,但是嵌套在app内這種方法是不起作用的,正确的方法如下

1:跟ios和Android的開發人員商量好,他們那邊下載下傳功能給我們提供什麼方法,我們這邊調用他們的方法就可以了,原理就是點選的時候,把檔案位址傳給ios和Android,他們拿到位址之後做下載下傳功能

2:當ios和Android的開發人員提供好方法之後,寫一個點選事件,點選的時候調用他們的方法,把檔案位址傳給他們,這裡需要區分目前點選的環境時Android還是ios,uniapp提供了一個方法uni.getSystemInfoSync().platform

代碼如下:

goDownLoad(){
	const url = 'https://xxx.xxx.xx/xx.doc'
	// 擷取目前運作環境  android or ios
	const platform = uni.getSystemInfoSync().platform
	switch(platform){
	    case 'android':
	     // JustTest.goDownLoad 是android開發提供的方法
	      const JustTest = window.JustTest
	      JustTest.goDownLoad(url)
	      break
	    case 'ios':
	      // JustTest.postMessage是ios開發提供的方法
	      const justTest = window.webkit.messageHandlers.justTest
	      justTest.postMessage({
	        openUrl:url
	      })
	      break
  }
	
}
	
	

           

繼續閱讀