微信小程序 web-view 打开H5网页 不执行JS?

网页在浏览器上和小程序模拟器上都能正常访问,但是在真机上不行
微信小程序 web-view 打开H5网页 不执行JS

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript" src="./flv.min.js"></script>
        <video id="videoElement" style="width: 100%;" muted autoplay></video>
        <button id="unmuteButton" style="visibility: hidden;" >unmute</button>
        <script>
            window.onload = function () {
                if (flvjs.isSupported()) {
                    var videoElement = document.getElementById('videoElement');
                    var button = document.getElementById("unmuteButton");
                    var flvPlayer = flvjs.createPlayer({
                        type: 'flv',
                        url:'直播拉流地址'
                    });
                    flvPlayer.attachMediaElement(videoElement);
                    flvPlayer.load();
                    button.addEventListener("click", function() {
                        videoElement.muted = false;
                        flvPlayer.play();
                    })
                }
            }
        </script>
    </body>
</html>
阅读 990
avatarAI BotBETA

微信小程序 web-view 组件用于在小程序中嵌入网页,但有一些限制和注意事项。针对你提到的问题,以下是一些建议和可能的原因:

  1. JavaScript 执行权限:微信小程序对 web-view 中的网页有一定的限制,特别是在执行 JavaScript 方面。默认情况下,web-view 内的网页可能不允许执行某些 JavaScript 代码,尤其是那些涉及小程序原生 API 的代码。
  2. 安全策略:为了安全考虑,微信可能限制了某些 JavaScript 功能或 API 的使用。这包括访问本地资源、使用某些浏览器 API 等。
  3. 跨域问题:如果你的网页试图加载或请求某些非同源资源(如 AJAX 请求到其他域),可能会因为跨域问题导致 JavaScript 代码执行失败。
  4. 网络问题:确保你的网页和所有相关资源(如 flv.min.js 和视频流)在真机上都能正确加载。
  5. 调试和日志:尝试在网页中加入日志或调试信息,以便了解在真机上具体是哪部分代码没有执行。
  6. 微信版本和平台差异:不同版本的微信或不同的平台(如 iOS 和 Android)可能有不同的行为。确保你的微信是最新版本,并测试多个平台和设备。
  7. 政策变化:微信的政策和 API 可能会随时间而变化。建议查阅最新的微信开发者文档,了解是否有关于 web-view 的新规定或限制。

为了解决这个问题,你可能需要调整网页的代码,或考虑其他在小程序中播放视频的方法,如使用微信原生的视频组件。如果可能的话,也可以考虑将视频播放的逻辑移到小程序端,而不是依赖网页来执行。

1 个回答

webview 有在小程序后台管理配置业务域名吗且只能以https 开头
微信公众平台

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题