Следующий код отлично работает со всеми другими браузерами, кроме IE, где после воспроизведения звука и отображения следующей кнопки вы все равно можете щелкнуть звук и прослушать его снова. Поскольку это опрос, несправедливо по отношению к участнику, если кто-то может услышать его более одного раза. Подскажите, пожалуйста, почему в другом браузере работает нормально, а в IE нет, и как это можно исправить?
Я хочу, чтобы пользователи больше не могли слышать (даже если они нажимают кнопку «Воспроизвести историю») после появления кнопки «Нажмите, чтобы продолжить».
Now that you know how the auditory stories will sound, you are ready to listen to and comprehend the two auditory stories in this study. The first auditory story is titled, “The Honey Gatherer’s Three Sons.” Press the “Play Story” button to begin listening to the story; after you have finished listening to the story, you will answer a set of questions about the story.
<div>
<p> </p>
<audio controls="" id="audio2" style="display:none"><source src="http://langcomplab.net/Honey_Gatherers_Master.webm" style="width:50%" type="audio/webm" /> <source src="http://langcomplab.net/Honey_Gatherers_Master.mp3" style="width:50%" type="audio/mp3" /> Your browser doesn't support this audio format.</audio>
</div>
<p> </p>
<div><button name="play" onclick="disabled=true" style="height:25px; width:200px" type="button">Play Story</button></div>
а вот джаваскрипт:
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place Your Javascript Below This Line*/
var aud = document.getElementById('audio2');
this.questionclick = function(event,element){
if((element.type == "button") && (element.name == "play"))
{
aud.play();
}
}
});
ОБНОВЛЕНИЕ: я изменил его на следующее в HTML:
<div><button name="play" style="width: 200px; height: 25px;" type="button">Play Story</button>
и следующее в js:
Qualtrics.SurveyEngine.addOnload(function()
{
/*Place Your Javascript Below This Line*/
var aud = document.getElementById('audio1');
this.questionclick = function(event,element){
if((element.type == "button") && (element.name == "play"))
{
aud.play();
element.disabled = true;
}
}
});
Но все же, после воспроизведения звука и отображения кнопки «Продолжить», пользователь может нажать кнопку «Воспроизвести историю» в IE и снова прослушать ее, в то время как в других браузерах этого не происходит. Есть ли какой-либо вариант в JavaScript или HTML5, чтобы пользователь не мог воспроизводить звук после его воспроизведения, который может работать для IE?