Mr_NoMore, костыль тоже врядли может быть, потому что apple явно писали, что запретили автовоспроизведение видео / аудио на своих мобильных девайсах. Про лазейку с playsinline не знал, кстати)
Алексей Уколов, там было вместо [1,2,3].forEach(function() { console.log(this) }); [1,2,3].forEach(function() console.log(this) ); - без фигурных скобок, т.е. пустая функция.
На значение this это не влияет, да. Но всё же. Я думал, что ошибка.
ortsuev33, нет смысла обсуждать нагрузку на фронтенде в разрезе посещаемости, потому что JS выполняется на клиенте - грубо говоря, каждый посетитель будет страдать в одиночку :) Но опять-таки, для вашего кейса эта дискуссия не имеет значения, потому что получить значение поля - ну очень простая операция.
Помимо советов из ответов - почитайте, что такое isset() - она проверяет наличие переменной, которую вы передаете в качестве аргумента. Конечно, она вернет вам true - ведь вы только что установили эту переменную.
1Sergey1, Это в любом случае ограничения хостинга на функцию mail() или что-то подобное. В плане кода - он рабочий, скажем так. mail() умеет возвращать true / false - думаю, у вас везде true будет. Попробуйте sleep, попробуйте немного изменять $message для каждого адресата.
Если совсем нет, то тогда прямой путь в SMTP серверу.
Nikolay Petyukh, а кнопки - это и есть клавиатура. Там есть разные типы - для ответов, для иных действий. Поэтому всё правильно. Кнопки так и крепятся к постам, и на каждую нужен свой callback
playsinline заставляет видео проигрываться в блоке, где оно размещено - без разворота на весь экран. А вопрос был про автовоспроизведение, котороое запрещено на iOS