2016-11-25 63 views
0

我爲公共觸摸屏做了一個應用程序。
我必須插入聲音/語音來幫助用戶在每個部分的第一頁上。
我在Url上使用indexOf函數。
但我想只在第一頁上的聲音。在觸摸屏上添加聲音

例如「信息」頁面, 我已經在我的url : "[...]index.php?state=information"
所以我在JS使用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(); 
     } 
     … 
} 

但邏輯上的聲音也玩的時候網址是"[...]index.php?state=information&pageinfo=2"例如。

但也許我的一切都錯了...... 什麼其他的方法或功能可以用來把聲音放在每個部分的主頁上而不重複?

謝謝你, Evy。

+0

你不只是檢查pageinfo索引是-1以及檢查你已經在做什麼? – George

+0

使用'/ state = \ w + $ /。test(window.location.search)'或類似的東西(更具體)除了第一次檢查。 – Annarfych

+0

想一想,如果你可能有更多的參數,你可以檢查在href中是否有'&',那麼你知道有兩個參數 – George

回答

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; 

這給一試(:

乾杯

0

非常感謝你最後我再補充「&」元素在支票上說,喬治 因爲我不」! t只有一個或兩個參數,每個狀態我可以有10個參數,我不能一一測試。 但是,謝謝你的解答,這些都是我可以重複使用的好主意。不真的專業,但它的功能^^)

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