У меня есть сценарий Tampermonkey, который создает список значений из отмеченных флажков на веб-странице. Коробка отображает данные красиво, каждое значение на новой строке ниже другой. Тем не менее, я теряю символы новой строки, когда копирую и вставляю эти значения с помощью буфера обмена Microsoft. Есть ли способ настроить сценарий, чтобы сохранить сохранение символов новой строки (\n
)?
JavaScript:
var box = document.createElement( 'div' );
box.id = 'myAlertBox';
document.body.appendChild( box );
box.textContent = text + '\n';
var selectedQueries = document.querySelectorAll (query);
selectedQueries.forEach ( (chkBox) => {
box.textContent += chkBox.title + '\n';
});
CSS:
#myAlertBox {
font-size: small;
background: white;
border: 5px solid green;
padding: 4px;
position: absolute;
top: 280px; right: 80px;
max-width: 300px;
white-space:pre-wrap;
}
Спасибо всем! Я просто изменил textContent
на innerHTML
и использовал <br/>
поскольку строка прерывается, как было предложено. Вы все коллективно спасли мне много ручного труда.
Рабочий код:
function ParseCheckBoxes (query, text) {
if (document.getElementById('myAlertBox') !== null) {
document.getElementById("myAlertBox").outerHTML='';
}
var box = document.createElement( 'div' );
box.id = 'myAlertBox';
document.body.appendChild( box );
box.innerHTML = text + '<br/>';
var selectedQueries = document.querySelectorAll (query);
selectedQueries.forEach ( (chkBox) => {
box.innerHTML += chkBox.title + '<br/>';
});
}
HTML не будет поддерживать \n
потому что он будет рассматриваться как пробел. Используйте тег <br/>
для разрыва строки.
var box = document.createElement( 'div' );
box.id = 'myAlertBox';
document.body.appendChild( box );
box.textContent = text + '<br/>';
var selectedQueries = document.querySelectorAll (query);
selectedQueries.forEach ( (chkBox) => {
box.textContent += chkBox.title + '<br/>';
});
06481-CT TECHNOLOGIST<br/>002561-CT TECHNOLOGIST (OP)<br/>
textarea
textbox
не textbox
. textbox
не будет поддерживать новую строку.
\r\n
, так что ... вы можете найти здесь ответ здесь stackoverflow.com/questions/1155678/… если так, то мы можем закрыть как dupe.