Merge branch 'fix/queetbox-behavior' into 'master'

Fix queetbox behavior (especially in Firefox)

See merge request !101
This commit is contained in:
hannes 2017-07-12 11:59:01 +00:00
commit 3666f7380e

View File

@ -2848,10 +2848,13 @@ $('body').on('click', '.queet-toolbar button',function () {
var queetBoxID = queetBox.attr('id');
// jquery's .text() function is not consistent in converting <br>:s to \n:s,
// so we do this detour to make sure line breaks are preserved
queetBox.html(queetBox.html().replace(/<br>/g, '{{{lb}}}'));
// so we do this detour to make sure line breaks are preserved.
// In firefox (and maybe some other browsers), queetBox.html() may have <div>s
// and may or may not have <br> in them.
// To deal with this, remove any <br>s right before </div> and then add ones.
queetBox.html(queetBox.html().replace(/(<br>)*<\/div>/g, '<br></div>').replace(/({|})/g, '!$1').replace(/<br>/g, '{{{lb}}}'));
var queetText = $.trim(queetBox.text().replace(/^\s+|\s+$/g, '').replace(/\n/g, ''));
queetText = queetText.replace(/{{{lb}}}/g, "\n");
queetText = queetText.replace(/{{{lb}}}/g, "\n").replace(/!({|})/g, '$1');
var queetTempText = replaceHtmlSpecialChars(queetText.replace(/\n/g,'<br>')); // no xss
queetTempText = queetTempText.replace(/&lt;br&gt;/g,'<br>'); // but preserve line breaks