在触摸屏上添加声音

时间:2016-11-25 10:28:13

标签: javascript audio indexof

我为公共触摸屏制作应用程序。
我必须在每个部件的第一页上插入声音/语音来帮助用户。
我在Url上使用indexOf函数。
但我希望第一页上的声音。

例如“信息”页面, 我已进入PASSWORD_FORMAT = /\A (?=.{8,}) # Must contain 8 or more characters (?=.*\d) # Must contain a digit (?=.*[a-z]) # Must contain a lower case character (?=.*[A-Z]) # Must contain an upper case character (?=.*[[:^alnum:]]) # Must contain a symbol /x validates :password, presence: true, format: {with: PASSWORD_FORMAT} 。所以我在JS中使用url : "[...]index.php?state=information"

window.location.href.indexOf(«state=information»)

但逻辑上,当网址为function playSounds(){ var obj = document.createElement('audio'); obj.volume=0.10; obj.autoPlay=false; obj.preLoad=true; … var information = "state=information"; … if (window.location.href.indexOf(information) > -1){ obj.src="/sounds/Menu_information.wav"; obj.play(); } … } 时,语音也会播放。

但也许我有什么不对劲...... 可以使用哪种方法或功能将声音放在每个声部的主页上而不重复?

提前谢谢你, 小艾

2 个答案:

答案 0 :(得分:0)

只需检查其他参数&pageinfo=2

var url = 'index.php?state=information&pageinfo=2';    
var matches = url.match(/[a-z\d]+=[a-z\d]+/gi);
    var count = matches? matches.length : 0;
    if( count == 1 )
      // play the sound
    else
      return false;

尝试一下(:

干杯。

答案 1 :(得分:0)

非常感谢!最后,我只是添加一个检查"&"元素如乔治所说。 因为我没有一个或两个参数。我可以为每个州提供10个参数,我无法逐个测试它们。 但是,谢谢你的解决方案。这些都是我可以重用的好主意。

(它不是很专业,但它功能齐全^^)

 if (pathname.href.indexOf(information) > -1){
        if (pathname.href.indexOf("&") == -1){
             obj.src="/sounds/Menu_information.wav";
             obj.play();
        }
        else{
            return false;
        }
    }