Tôi đã dành một chút thời gian để tìm ra giải pháp sao chép danh sách nhiều dòng trong HTML, xóa thẻ và thụt lề tất cả từ nút bấm mà không cần sử dụng Flash. Trong nghiên cứu của tôi, tôi đã chạy qua "jQuery click button copy to clipboard" và tôi đã thử nghiệm Alvaro Montoro's answer nhưng giải pháp không hoạt động trên danh sách nhiều dòng nhưng nó hoạt động tốt cho văn bản đoạn văn. Tôi không có ý định hỗ trợ API Clipbaord vì nó hiển thị rất limited support trên các trình duyệt. Nghiên cứu thêm tôi chạy qua "HTML5 alternative to flash-based ZeroClipboard for safe copying of data to clipboard?" và câu trả lời của Thayne là blog post nhưng nó sẽ sao chép tất cả HTML. Tôi đã tìm ra cách để tước các thẻ và indents:jQuery sao chép danh sách nhiều dòng vào clipboard
HTML:
<button onclick="copyToClipboard('#therecipe')">Copy List</button>
<div class="listing">
<ul id="someList">
<li>1 million</li>
<li>Monday</li>
<li>Something</li>
<li>Foobar</li>
<li>1tsp blah</li>
</ul>
</div>
<textarea class="auto"></textarea>
jQuery:
$('button').click(function(element) {
var thelist = $('#someList').html();
thelist = thelist.replace(/\s+<li>/g, '');
thelist = thelist.replace(/<\/?li>/g, '\r');
$('.auto').val(thelist);
});
Làm thế nào tôi có thể sao chép danh mục đa phù hợp với jQuery, loại bỏ thẻ, loại bỏ thụt đầu dòng và sao chép vào khay nhớ tạm mà không cần sử dụng Flash? Có một plugin hỗ trợ tất cả các trình duyệt mới nhất mà tôi không nhìn thấy không?
BTW, để xóa thẻ, bạn có thể sử dụng '.text()' thay vì '.html()'. – starikovs
@starikovs cảm ơn, đây là lần thử nghiệm đầu tiên của tôi và tôi không muốn đăng mã đã bị phức tạp –
Nếu bạn sử dụng Twitter, chẳng hạn như "liên kết sao chép tweet" hiển thị phương thức với văn bản đã chọn và người dùng có thể ctrl + c nó. Tại sao bạn không làm như vậy? – starikovs