2012-11-29 17 views
7

Web sitelerinden html kopyalayıp yapıştırmak ve bunları mysql veritabanında saklamak istiyorum. Bunu yapmak için html, hatta kelime dokümanlarımı yapıştırmamı sağlayan CKEditor'ı kontrol ettim ve bunun için html kodu üretiyor. Tek istediğim, CKEditor gibi tam bir wysiwyg editörü kullanmak yerine, yapıştırılan verileri html olarak "üretmek" olduğundan, yapıştırılan verileri html etiketlerine ve biçimlendirmeye dönüştürmek için bir kod (belki jquery ile) yazmak istiyorum.Editörler, zengin wysiwyg editörlerinde html benzeri gibi textarea'daki verileri yapıştırır?

Bu işlevselliği elde etmek için, bu çevrimiçi düzenleyiciler ne yapar? Panodaki verileri html koduna nasıl dönüştürürler? Neden html biçimlendirilmiş metin veya div veya düğmeler bu metin ve resimlere ve wysiwyg editörleri üzerinde uygun boyutlu boyutlu divlara yapıştırdığımda neden sadece metin alırım?

Editörler pano verilerine erişiyor ve bunları değiştiriyor mu? Pano biçimlendirme verilerini "CKEditor" veya başkalarının manipüle etmesine izin veren düzenli bir şekilde kaydeder mi?

Bu jQuery ile yapılabilir mi? Yoksa sunucu tarafı koduna da mı ihtiyacımız var?

Bu konuda biraz ışık tutabiliyorsanız bunu takdir ediyorum. Sadece yöntemi bilmek istiyorum, böylece buna uygun bir kod yazabilirim. Başvuru için

:

+0

Sanırım HTML'yi bir contenteditable = "true" 'ile bir öğeye yapıştırabilir ve iç HTML'yi bir komut dosyasıyla alabilirsiniz. –

cevap

5

http://ckeditor.com/demo İşte Krom, IE9 ve Safari'de çalışan bir ham demo: http://jsfiddle.net/SN6PQ/2/

<div contenteditable="true" id="paste-target">Paste Here</div>​ 

$(function(){ 
    $("#paste-target").on("paste", function(){ 
     // delay, or else innerHTML won't be updated 
     setTimeout(function(){ 

      // option 1 - for pasting text that looks like HTML (e.g. a code snippet) 
      alert($("#paste-target").text()); 

      // option 2 - for pasting actual HTML (e.g. select a webpage and paste it) 
      alert($("#paste-target").html()); 
     },100); 
    });   
});​ 

bu peşindesiniz ama macun üzerinde HTML uyarır nedir emin değilim. Bir içerik düzenlenebilir öğesinin, yapıştırmanın üzerindeki işaretlemeyi değiştirebileceğini unutmayın.

+1

Teşekkür ederim, bu tam olarak peşindeyim ... yani jQuery için bir macun olayı var ... en ilginç! – Logan

+0

Çalıştığına sevindim. Örneğimi düzeltmek isterseniz, örneğin, yapıştırma ile ilgili çeşitli sorular vardır. http://stackoverflow.com/questions/686995/jquery-catch-paste-input?lq=1 –

+0

Ah, ben araştırırken bu yazıyı görmüştüm ama aynı zamanda html olarak da yapıştırıldığını anlayamadım. Btw javascript için paste olayı uyumluluğunu araştırdım ve işte burada: [cutcopypaste] (http://www.quirksmode.org/dom/events/cutcopypaste.html) – Logan

İlgili konular