javascript - Làm thế nào để sao chép văn bản có '\n' vào bộ nhớ tạm?
Hàm copyTextToClipboard của tôi hoạt động nếu tôi truyền vào một đối số chuỗi một dòng.
Tuy nhiên, nó không hoạt động nếu chuỗi chứa ký tự '\n'.
Làm thế nào để lấy nó sao chép nhiều dòng?
private getProxyList() {
this.proxies$.subscribe(proxyList => {
this.proxyList = proxyList.map(proxies => proxies.proxy).join('\n');
this.copyTextToClipboard(this.proxyList);
});
}
private copyTextToClipboard(val) {
console.log(val);
let selBox = document.createElement('textarea');
selBox.style.position = 'fixed';
selBox.style.left = '0';
selBox.style.top = '0';
selBox.style.opacity = '0';
selBox.value = val;
document.body.appendChild(selBox);
selBox.focus();
selBox.select();
document.execCommand('copy');
document.body.removeChild(selBox);
}
CHỈNH SỬA:
Nó liên quan đến phạm vi đăng ký của tôi. Tôi đã có thể dùng console.log dữ liệu, nhưng không sao chép được vào clipboard.
Nếu tôi gọi hàm bên ngoài subscribe, ví dụ: this.copyTextToClipbooard("this\nString") thì nó hoạt động. Tại sao tôi không thể sao chép vào clipboard khi ở bên trong subscribe? Làm thế nào để khắc phục điều này?