最近uniapp嵌入了一個h5頁面,需要通過頁面上的按鈕返回。
uni官方文檔上這樣描述,<web-view>加載的h5網頁中,是支持調用以下api的:
但是在實際h5頁面中,直接調用這些方法並不起作用。
百度了一圈,原來,h5頁面中需要引入以下兩個sdk。分為以下步驟:
1,在h5頁面引入SDK。注意:兩個都要引入,其中任意一個不引入都不能正常工作;另外uni的SDK依賴微信的SDK,所以要把微信的SDK放前面。
<!-- 微信 JS-SDK --> <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script> <!-- uni 的 SDK --> <script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
2,在h5頁面調用:
html
<button type="button" class="btn btn-primary">點擊返回</button>
js
<script> document.addEventListener('UniAppJSBridgeReady', function() { document.querySelector('.btn').addEventListener('click', function(evt) { uni.navigateBack() //sdk中默認如果沒有參數,則delta為1 }); }); </script>
總結
在uni的SDK中,是寫了以下方法的,所以下面這些方法理論上都是支持的,這跟uni的文檔相符: