Я новичок в этом и не знаю точно, как сообщить об ошибке, но сначала я хочу подтвердить, что это ошибка, а затем продолжить. Но вот что я нахожу:
1) При создании атрибута управления аудиообъектом атрибут управления будет реагировать на строку, как если бы это было логическое значение. Например:
<button onclick="example()">Try this</button>
<script>
function example() {
var aud = document.createElement("AUDIO");
aud.setAttribute("src","example.mp3");
aud.setAttribute("controls", "controls");
}
Okay, we've put controls in there because it makes controls equal controls: Thing is, you can put any old string in there and it works just fine -- apple, banana, pear, anything.
2) Разве значение не должно быть логическим? Что ж, когда вы пытаетесь использовать логическое значение, например false, вы все равно получаете значение true. (False == True) Это работает так же, как если бы вы ввели true.
... и если вы поместите что-нибудь, кроме true или false (просто введите что-нибудь, кроме целого числа, строки или значения true или false), вы получите false (или это просто не работает). Все равно true, а нестроковое, нецелое число равно false (или просто не работает).
Наконец, вы даже можете попробовать установить атрибут управления для доступного аудиоэлемента:
var aud = document.getElementById("idhere");
function accessAudioElement() {
aud.controls = false;
}
По крайней мере, здесь истина и ложь на самом деле работают как истина и ложь, но, опять же, любая строка или целое число также даст вам истину, а любое нестроковое/нецелое число нарушит код.
Может ли кто-нибудь помочь мне здесь, потому что я не думаю, что это должно работать таким образом... и если да, то какой смысл использовать логическое значение, когда почти все остальное будет работать?
Конечно, я все еще учусь, так что, возможно, это не ошибка, может быть, по какой-то причине это должно работать именно так, но если это так, то кто-нибудь, пожалуйста, поделитесь со мной логикой, стоящей за этим.
Я просто не понимаю. Спасибо Магия
aud.controls = false;
не устанавливает атрибутcontrols
, он устанавливает свойствоcontrols
, которое ожидает логическое значение (или, в любом случае, истинное/ложное значение). В то время как с атрибутом важно наличие атрибута (с любым значением). См. также этот вопрос или этот. - person nnnnnn   schedule 24.04.2017