最近开发的时候遇到了这种问题。 问题描述: 1.H5在浏览器访问的时候是没有问题的。 2.但是在嵌入到微信小程序之后,部分机型出现:页面可以加载出来、但无数据,js失效... (我出现的问题时候,安卓手机在小程序中可以显示出数据;但是iOS不行,页面可以加载出来、但无数据) 查找问题: 1.先在js中 alert 一下 //页面初始化加载 window.onload = function(){ alert('页面初始化加载') Async_load_data() }; 2.浏览器访问正常 [图片] 3.然后用小程序访问一下(出现问题:没有弹框,意味着没有触发js。js失效:没有引用成功) //这个jq文件,没有引入成功 <script type="text/javascript" src="{$Think.const.ADMIN_JS_URL}jquery.js"></script> 4.找到问题 //在入口文件中定义的路径是http的。 //虽然浏览也能访问到该文件, //但是在小程序内嵌之后,因为机型的原因导致http的路径引入失败【安卓没有影响,苹果不行】 define('SITE_URL','HTTP://127.0.0.1/'); define('ADMIN_JS_URL',SITE_URL.'space/admin/public/js/'); 解决问题: //为了省劲,直接引入外部js【必须是https开头】。 <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.4.1.min.js"></script> 注意: 1.网页内嵌<web-view src="https://www.baidu.com/"></web-view> src的属性必须是https。 2.html页面在引入外部的文件是,引入路径最好也是https,不然部分机型如:iOS 会导致文件引入失败 3.html 内部的ajax 请求 也是https
web-view嵌入普通h5页面,h5页面原来引入的js失效,求解。web-view嵌入普通h5页面,h5页面原来引入的外部的我们自己写的js文件中的代码无法调用,但是将相应的js代码粘贴到h5页面的<script></script>标签之后,就能够生效。 这个h5页面已经加入到安全域名。
2021-07-29