先是报这个错
A parser-blocking, cross site (i.e. different eTLD+1) script, https://api.map.baidu.com/getscript?v=3.0\&ak=pgJsRF87Fjia\&services=\&t=20250225111334, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details. at https://api.map.baidu.com/api?v=3.0\&ak=p1Ona:1
17:44:49.105 [WARNING] :A parser-blocking, cross site (i.e. different eTLD+1) script, https://api.map.baidu.com/getscript?v=3.0\&ak=p1O7Fjia\&services=\&t=20250225111334, is invoked via document.write. The network request for this script MAY be blocked by the browser in this or a future page load due to poor network connectivity. If blocked in this page load, it will be confirmed in a subsequent console message. See https://www.chromestatus.com/feature/5718547946799104 for more details. at https://api.map.baidu.com/api?v=3.0\&ak=p1On6Mpgs8yRrLU7RRgJsRF87Fjia:1
17:44:49.274 [HMR] Waiting for update signal from WDS... at http://192.168.1.95:9091/static/js/chunk-vendors.js:15242
17:44:49.790 Download the Vue Devtools extension for a better development experience:
https://github.com/vuejs/vue-devtools at http://192.168.1.95:9091/static/js/chunk-vendors.js:49249
排查发现可能是
这个js加载太慢 终止了 document.write 调用的js,把这个js文件引入先去掉就可以了
<template>
<view>
<button @click="sendMessage" style="z-index: 999999;height: 50px;">Send Message</button>
<web-view ref="webview" src="http://192.168.1.95:9091/#/pages/index" style="height: 400px;margin-top: 50px;"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
sendMessage() {
//this.$refs.webview.evalJs(`alert('Message from UniApp')`);
const currentWebview = this.$scope.$getAppWebview();
const wv = currentWebview.children()[0];
wv.evalJS(`alert('Message from UniApp')`);
},
},
onReady() {
// 确保 web-view 已加载完成
setTimeout(() => {
this.sendMessage();
}, 3000);
},
}
</script>
<style>
</style>
