起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1752|回复: 9

[处理中3] 小弟初学WeX5,请问各位html中写的JS应该怎么在.W中应用

[复制链接]

2

主题

6

帖子

15

积分

新手上路

Rank: 1

积分
15
QQ
发表于 2018-11-3 13:29:52 | 显示全部楼层 |阅读模式
本帖最后由 yck194 于 2018-11-3 13:32 编辑

<script type = "text/javascript">
    document.addEventListener('DOMContentLoaded', function () {
    function audioAutoPlay() {
        var audio = document.getElementById('audio');
        audio.play();
        document.addEventListener("WeixinJSBridgeReady", function () {
            audio.play();
        }, false);
    }
    audioAutoPlay();
});
    </script>
<body>
<audio id='audio' src='./src/植松伸夫 - Dragonsong.mp3' autoplay loop controls>
    </audio>
</body>
这是在HTML中写的,iphone端的微信可以正常自动播放音乐,
然后我新建.w文件,在其中源码中添加如下
<audio id="audio" autoplay="true" >
         <source src="./src/植松伸夫 - Dragonsong.mp3"> </source>
         </audio>  
并将上面的JS代码加入到.W文件对应的JS中,可是在iphone端微信不能自动播放了,请问应该怎么做?
发表于 2018-11-5 09:41:14 | 显示全部楼层
用法一样,可以参考案例
http://docs.wex5.com/wex5-app-question-list-2078/

在x5中不建议使用id属性,应该使用xid  ,获取dom原生的方法,this.getElementByXid
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

2

主题

6

帖子

15

积分

新手上路

Rank: 1

积分
15
QQ
 楼主| 发表于 2018-11-5 10:17:09 | 显示全部楼层
liangyongfei 发表于 2018-11-5 09:41
用法一样,可以参考案例
http://docs.wex5.com/wex5-app-question-list-2078/

这个是需要click事件的吧,我希望是进页面自动播放
回复 支持 反对

使用道具 举报

发表于 2018-11-5 10:19:18 | 显示全部楼层
yck194 发表于 2018-11-5 10:17
这个是需要click事件的吧,我希望是进页面自动播放

那你可以在onLoad 事件中执行播放的代码!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

2

主题

6

帖子

15

积分

新手上路

Rank: 1

积分
15
QQ
 楼主| 发表于 2018-11-5 10:32:16 | 显示全部楼层
本帖最后由 yck194 于 2018-11-5 10:34 编辑
liangyongfei 发表于 2018-11-5 10:19
那你可以在onLoad 事件中执行播放的代码!
var me = this;
Model.prototype.modelLoad = function(event) {
               me.addEventListener('DOMContentLoaded', function() {
                        function audioAutoPlay() {
                                var audio = me.getElementByXid('audio');
                                audio.play();
                               me.addEventListener("WeixinJSBridgeReady", function() {
                                        audio.play();
                                }, false);
                        }
                        audioAutoPlay();
                });

        };
是这样吗,仍然不行
回复 支持 反对

使用道具 举报

发表于 2018-11-5 10:38:04 | 显示全部楼层
yck194 发表于 2018-11-5 10:32
var me = this;
Model.prototype.modelLoad = function(event) {
               me.addEventListener('DO ...

你下载执行一下文档中的案例,把点击事件中的代码放在  onLoad 事件中就可以了!
onLoad 中直接写audio.play(); 就可以的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

2

主题

6

帖子

15

积分

新手上路

Rank: 1

积分
15
QQ
 楼主| 发表于 2018-11-5 11:10:23 | 显示全部楼层
liangyongfei 发表于 2018-11-5 10:38
你下载执行一下文档中的案例,把点击事件中的代码放在  onLoad 事件中就可以了!
onLoad 中直接写audio.p ...

那个案例好像不能运行啊
回复 支持 反对

使用道具 举报

发表于 2018-11-5 11:19:00 | 显示全部楼层
yck194 发表于 2018-11-5 11:10
那个案例好像不能运行啊

本地测试,点击这个按钮,手机访问页面,是可以播放仿音乐的啊!
我是指下载里面的demo
http://docs.wex5.com/wp-content/uploads/2017/05/audio.rar
P6V_N64IDZ{HRUAO8G}J2HV.png
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

2

主题

6

帖子

15

积分

新手上路

Rank: 1

积分
15
QQ
 楼主| 发表于 2018-11-5 11:43:08 | 显示全部楼层
liangyongfei 发表于 2018-11-5 11:19
本地测试,点击这个按钮,手机访问页面,是可以播放仿音乐的啊!
我是指下载里面的demo
http://docs.wex5 ...

Model.prototype.modelLoad = function(event) {
                var me = this;
                document.addEventListener("deviceready", onDeviceReady, false);
                // 加载完成
                function onDeviceReady() {
                        me.comp("audioBtn").set({disabled: false});
                        me.comp("playBtn").set({disabled: false});

                        if(localStorage.getItem(me.STORE_ID) != "")
                                me.comp("fileData").loadData(JSON.parse(localStorage.getItem(me.STORE_ID)));
                }
                var audio = this.getElementByXid("bgMusic");
                //播放(继续播放)
                audio.play();
        };
您的意思是改成这样吧?我在网页端和安卓端都是可以直接播放的,iphone端仍然不行
回复 支持 反对

使用道具 举报

发表于 2018-11-5 11:51:39 | 显示全部楼层
yck194 发表于 2018-11-5 11:43
Model.prototype.modelLoad = function(event) {
                var me = this;
                document.addEventListener("device ...

这个应该是  它自己的问题,网上也有解决方案,看下
http://docs.wex5.com/wex5-app-question-list-2085/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-9-24 01:15 , Processed in 0.065337 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表