Я пытаюсь скопировать тег элемента таблицы HTML с форматом. Я следил за этими ответами Stackoverflow, но по-прежнему копируется только текст без формата.
https://stackoverflow.com/a/38821410 https://stackoverflow.com/a/30566157
Вот мой код javascript:
function selectElementContents(el) {
var body = document.body, range, sel;
if (document.createRange && window.getSelection) {
range = document.createRange();
sel = window.getSelection();
sel.removeAllRanges();
try {
range.selectNodeContents(el);
sel.addRange(range);
} catch (e) {
range.selectNode(el);
sel.addRange(range);
}
document.execCommand("Copy");
} else if (body.createTextRange) {
range = body.createTextRange();
range.moveToElementText(el);
range.select();
document.execCommand("Copy");
}
}
Это кнопка копирования таблицы
@component('layouts.components.custom-button',
[
'id' => 'copyTable',
'class' => 'ml-auto m-r-10',
'tooltip' => 'Copy Table',
'position' => 'top right',
'target' => '',
'clipboard_target' => '#JoineeTrackerTable',
'toggle' => '',
'action' => '',
'icon' => 'file_copy',
])
@endcomponent
Это код таблицы. Я динамически добавляю содержимое тела таблицы после его создания из PHP
<table id="JoineeTrackerTable" class="table table-responsive">
<thead>
<tr class="">
<th class="tablet-hide font-weight-bold c_id">No.</th>
<th>Full Name</th>
<th>Mobile Number</th>
<th class="">Designation</th>
<th class="">Recruiter</th>
<th class="">Country (Recruiter)</th>
<th class="">Organization</th>
<th class="">Process Type</th>
<th class="">Company Name</th>
<th class="">City/Company Site</th>
<th class="">DOI</th>
<th class="">DOJ</th>
<th class="">Joinee Status</th>
<th class="">Job Type</th>
<th class="">Comments</th>
</tr>
</thead>
<tbody id="joinee-tracker-list">
</tbody>
</table>
Любая помощь будет оценена по достоинству.
contenteditable
. Я не думаю, что Gmail принимает такой HTML-контент. Вы когда-нибудь вставляли что-то и форматировали вывод в этих приложениях? Я никогда не использую onenote, а в gmail вставляю только обычный текст. - person jcubic   schedule 08.09.2019selectElementContents(document.querySelector('.prettyprint'))
(скопируйте ваш код), и он работает в LIbreOffice Writer. Не уверен насчет Gmail или Onenote, не могу проверить. - person jcubic   schedule 11.09.2019