Если вы создаете stati c страниц или используете рендеринг на стороне сервера, вы можете добавить logi c, чтобы добавить класс для отображения или скрытия элемента alert, не добавляя больше javascript на страницу. Он будет иметь соответствующий класс (ы), когда html генерируется и доставляется. Таким образом, вам не нужно будет создавать функцию, вызывать ее и манипулировать DOM после того, как все будет отображено.
Возможно, я пропустил это в приведенном выше коде. Вы вызываете функцию showAlert где-нибудь? В противном случае ваше предупреждение не будет отображаться (или будет отображаться в зависимости от стилей по умолчанию).
Одна вещь, которую я хотел бы предостеречь, - это обязательный характер кода здесь. Если вы хотите повторно использовать эту функцию оповещения на другой странице, вам нужно будет добавить еще одну логику c, чтобы обнаруживать заголовок другой страницы каждый раз, когда вы хотите использовать оповещение. Поскольку вы используете CMS, вы можете подумать о добавлении флага для отображения предупреждения, и на этой указанной странице c включите этот флаг.
Если вы хотите использовать стратегию функции, я бы установите стили оповещений по умолчанию:
#alert-dialog {
display: none;
}
.show {
display: block;
}
и попробуйте что-то вроде этого:
<script>
function showAlert() {
if(document.title === "Test Article Two") {
document.getElementById('alert-dialog').classList.add('show');
}
}
document.addEventListener("DOMContentLoaded", showAlert);
</script>
Другой вариант - взглянуть на путь страницы, на которой он должен быть ( window.location.pathname
) и используя регулярное выражение, чтобы увидеть, соответствует ли оно тому, что вы хотите. Я бы посоветовал пересмотреть заголовок, поскольку скорее всего изменится заголовок страницы, а не URL.