Слайд-предупреждение отображает HTML-код в тексте
Я использую плагин sweet-alert для отображения предупреждения. С классической конфигурацией (по умолчанию) все идет хорошо. Но когда я хочу добавить тег HTML в TEXT, он отображает <b>...</b>
, не делая его полужирным. После поиска ответа, похоже, что у меня нет правильного слова поиска...
Как сделать сладкое предупреждение отображать текст также с помощью HTML-кода?
var hh = "<b>test</b>";
swal({
title: "" + txt + "",
text: "Testno sporocilo za objekt " + hh + "",
confirmButtonText: "V redu",
allowOutsideClick: "true"
});
Ответы
Ответ 1
Репо SweetAlert, похоже, не поддерживается. Там куча запросов Pull без каких-либо ответов, последний запрос с объединенным тягой был 9 ноября 2014 года.
Я создал SweetAlert2 с поддержкой HTML в модальных и некоторых других вариантах настройки модальной ширины окна, заполнения, поведения кнопки Esc и т.д..
Ответ 2
Добавлена возможность разрешить HTML для параметров заголовка и текста с недавним слиянием в главной ветке на GitHub https://github.com/t4t5/sweetalert/commit/9c3bcc5cb75e598d6faaa37353ecd84937770f3d p >
Просто используйте JSON-конфигурацию и установите "html" в true, например:
swal({ html:true, title:'<i>TITLE</i>', text:'<b>TEXT</b>'});
Это было объединено менее недели назад и намечено на README.md(html установлен в false в одном из примеров, хотя явно не описан), однако он еще не задокументирован на маркетинговой странице http://tristanedwards.me/sweetalert
Ответ 3
По состоянию на 2017 год принятый ответ устарел:
Sweetalert поддерживается, и вы можете решить исходную проблему вопроса с помощью опции content.
Ответ 4
Я только что применил патч выше, и он начинает работать.
diff --git a/sweet-alert.js b/sweet-alert.js
index ab6e1f1..d7eafaa 100755
--- a/sweet-alert.js
+++ b/sweet-alert.js
@@ -200,7 +200,8 @@
confirmButtonColor: '#AEDEF4',
cancelButtonText: 'Cancel',
imageUrl: null,
- imageSize: null
+ imageSize: null,
+ html: false
};
if (arguments[0] === undefined) {
@@ -224,6 +225,7 @@
return false;
}
+ params.html = arguments[0].html;
params.title = arguments[0].title;
params.text = arguments[0].text || params.text;
params.type = arguments[0].type || params.type;
@@ -477,11 +479,18 @@
$cancelBtn = modal.querySelector('button.cancel'),
$confirmBtn = modal.querySelector('button.confirm');
+ console.log(params.html);
// Title
- $title.innerHTML = escapeHtml(params.title).split("\n").join("<br>");
+ if(params.html)
+ $title.innerHTML = params.title.split("\n").join("<br>");
+ else
+ $title.innerHTML = escapeHtml(params.title).split("\n").join("<br>");
// Text
- $text.innerHTML = escapeHtml(params.text || '').split("\n").join("<br>");
+ if(params.html)
+ $text.innerHTML = params.text.split("\n").join("<br>");
+ else
+ $text.innerHTML = escapeHtml(params.text || '').split("\n").join("<br>");
if (params.text) {
show($text);
}
Ответ 5
Я предполагаю, что </
не принимается внутри строки.
Попытайтесь избежать косой черты "/", пропустив ее с помощью обратного слэша "\", например:
var hh = "<b>test<\/b>";