Tôi đã nhúng trình soạn thảo tinymce nhúng vào javafx WebWiew. Tôi tải trình chỉnh sửa bằng phương thức webEngine.load. Sự cố xảy ra khi dán bản sao. Khi tôi sao chép một số nội dung từ notepad vào tinymce, nó được dán. Tiếp theo, khi tôi sao chép một số nội dung từ tinymce vào tinymce, nó được dán. Không vấn đề gì. Nhưng một khi tôi đã dán một số nội dung từ tinyme để tinymce chính nó, tôi không thể sao chép từ bên ngoài của tinymce (webView) nữa. Ví dụ khi tôi sao chép từ notepad một văn bản và thực hiện một dán, giá trị sao chép từ notepad được bỏ qua và giá trị trước đó được sao chép từ tinymce được dán lại.Dán bản sao TinyMCE từ notepad (clipboard) với javafx WebView trên java 1.8
tôi thêm người nghe để WebView và kiểm tra các giá trị vào clipboard, họ đang có trong mọi trường hợp sửa chữa:
webView.addEventHandler(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent arg0) {
if (arg0.isControlDown() && arg0.getCode() == KeyCode.V) {
final ClipBoard clipBoard = ClipBoard.getSystemClipBoard();
System.out.println(clipBoard.getContent(DataFormat.PLAIN_TEXT));
..
Và ở phía bên biên tập viên, khi khởi tạo trình biên tập TinyMCE: Như bạn thấy lần thử thứ ba, args.content là sai và doens không chứa giá trị trong clipboard.
tinymce.init {
paste_preprocess : function(plugin,args) {
debug(args.content);
Bước 1: [OK]
giá trị sao chép từ notepad ABCDE
hệ thống java ra cho vào clipboard: ABCDE
biên tập html debug nói: ABCDE
Bước 2 : [OK]
giá trị sao chép từ biên tập TinyMCE XYZQ
hệ thống java ra cho vào clipboard: XYZQ
biên tập html debug nói: XYZQ
Bước 3: [FAIL]
giá trị sao chép từ notepad ASDFG
hệ thống java trong khay nhớ tạm thời: ASDFG
biên tập html debug nói: XYZQ
Hệ thống thuộc tính:
TinyMCE 4.2.2
Windows 7
Vấn đề xảy ra trên java 1.8.65 và 1.8.66
Sự cố không xảy ra trên java 1.7.40
Giải pháp: Tôi có thể gửi nội dung từ java tới javafx (trình chỉnh sửa) theo cách thủ công bằng cách thực thi tập lệnh v.v. và ghi đè giá trị trong hàm paste_preprocess của tinymce. Nhưng tại sao điều đó lại xảy ra? (Trường hợp không xảy ra trên java 1.7) Phải có một giải pháp tốt hơn.