Bunu yapmayı kim başarabildi?Wmd editörüne nasıl yükleme yardımcı programı eklenir?
cevap
WMD'nin kontrol paneline bir düğme ekleyin. my version yılında italicButton.XShift
, fonksiyon sınıfında SpritedButtonRow olduğunu ve inşa denir: Aşağıdaki dize için
Arama butonları ekleniyor yer bulmak için.
kurulum ve textOp öznitelikleri yok sayılır. XShift, WMD ile birlikte gelen css sprite içindeki düğme görüntüsünün pozisyonudur, bunun yerine, düğmeye bir sınıf verir ve sınıfta arka plan görüntüsünü belirtir. Ardından, yapmanız gerekenleri yapacak olannolu düğmeye onclick olayını ekleyin.
Ancak, bir yükleme düğmesinin metin düzenleyicide olması gerektiğini düşünmüyorum, mantıklı değil.
Util.prompt dosyasını kendi jquery.dialog yöntemimle değiştirerek bunu başardım. İstemi fonksiyonu bir parametreyi geri çağırma olarak alır ve bu da bir ikame değiştirme işlemini kolaylaştırır.
if (isImage) {
// OLD: util.prompt(imageDialogText, imageDefaultText, makeLinkMarkdown);
// WMD_IMAGE_GALLERY_URL loaded from a global settings elsewhere
util.imageGallery(WMD_IMAGE_GALLERY_URL, makeLinkMarkdown);
}
else {
util.prompt(linkDialogText, linkDefaultText, makeLinkMarkdown);
}
İlgilenirsen
, bu konuda bir blog entry yazdı (resimli!) Biraz daha örnek kod yanı bu uygulanmasında karşılaşılan sorunlar/çözümler bazıları vardır ki.Bunun için kod alabilir miyim? :) – Moon
Ayrıca, stackoverflow göre bir yükleme uygulamak için gereken tüm bu için kod görmek çok istiyorum. – marcusstarnes
Aşağıdaki kesmek, AJAX dosya yüklemeleri gerçekleştirmek için jQuery, jQuery UI ve Mike Alsup's jQuery Form Plugin kullanımını gerektirir. Hack, bağlantılı sürümlerle çalışır (jQ 1.7.2 ve jQUI 1.8.20). Diğer sürümlerle uyumluluğu garanti edemem. senin <head>
yılında
, bağımlılıklar dahil etmek gerekir:
<script type='text/javascript' src='jquery.min.js'></script>
<link href='theme/jquery-ui.css' rel='stylesheet' type='text/css' />
<script type='text/javascript' src='jquery-ui.js'></script>
<script type='text/javascript' src='wmd/showdown.js'></script>
<script type='text/javascript' src='wmd/wmd.js'></script>
<link type='text/css' rel='stylesheet' href='wmd/wmd.css'/>
<script type='text/javascript' src='jquery.form.js'></script>
Biz aslında wmd.js
için tek bir değişiklik yapmak gerekir.
var form = doc.createElement("form");
hemen bu hattı takip için, formu bir kimlik atayın İçeride gidip (+ f ctrl) arama dialogform yapacağız: form.id = "dialogform";
Şimdi ön ucunda, çalıştırın:
$(document).ready(function(){
$("#wmd-image-button").live("click",function(){
setTimeout(function(){
$(".wmd-prompt-dialog").css({"opacity": "0", display: "none"});
}, 100);
var $div = $("<div>");
var $form = $("<form>").attr({action: "submit_image.php", method: "post"})
var $file = $("<input/>").attr({type: "file", name: "image"});
var $name = $("<input/>").attr({type: "text", name: "name", placeholder: "Name"});
var $submit = $("<input/>").attr("type", "submit");
$form.append($name, $file, $submit).ajaxForm(function(r) {
r = $.parseJSON(r);
if(r.success){
$("#dialogform input[type='text']").val(r.filename);
$("#dialogform input[value='OK']").trigger("click");
$div.dialog("close");
}
});
$div.append($form).dialog({title: "Upload Image"});
});
$("#wmd-link-button").live("click", function(){
setTimeout(function(){
$(".wmd-prompt-dialog").css("opacity", "1");
}, 100);
});
});
sonrası jQuery 1.7.2 için yazılmıştır ve
live()
zamandan beri kullanılmadığından unutmayın.Eğer submit_image.php
yılında
Ve arka uçta, jQuery daha yeni bir sürümü kullanıp kullanmadığınızı on()
geçin: başlamanıza olacak
$f = $_FILES['image'];
$p = $_POST;
$allowedTypes = array(IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF);
$detectedType = exif_imagetype($f['tmp_name']);
if(in_array($detectedType, $allowedTypes)){
$pi = pathinfo($f['name']);
$ext = $pi['extension'];
$target = "img/" . strtolower(str_replace(" ", "-", $p['name'])) . "." . $ext;
if(move_uploaded_file($f['tmp_name'], $target)){
$returnArr = array(
"success" => true,
"filename" => site_url($target)
);
echo json_encode($returnArr);
}
else echo json_encode(array("success" => false));
}
else echo json_encode(array("success" => false, "msg" => "Invalid File Type."));
Umarım. Bu, birkaç yıl önce javascript becerilerimin alt parite olduğu yazılmıştır! Haha. Daha önce bunu bir blogda (şimdi öldü) adım adım talimatlar ve açıklamalar ile yaptım; gereksiz tüyler çok. Bu bağlantıyı dikkatime sunmak için @Kamiccolo'a teşekkürler. Canlandırmak için yol-arka-makineye danışmak zorunda kaldım.
Sadece bir site dışı bağlantı bırakmakla kalmayıp daha fazla detaylandırır mısınız? akılda, o site öldü. En azından şu anda. – Kamiccolo
teşekkürler @Kamiccolo - sabit. –
- 1. Visual Studio Code editörüne sağ kenar boşluğu nasıl eklenir?
- 2. ps yardımcı programı, hangi CPU'nun kullanıldığını denetleme
- 3. procmail lockfile yardımcı programı ve NFS
- 4. iOS AWS S3 Transfer Yardımcı Programı yüklenmiyor
- 5. Vista TaskScheduler'a bir ClickOnce programı nasıl eklenir?
- 6. Word'le extjs editörüne yapıştırın
- 7. ASP.NET'te WMD kullanarak işaretlemeyi nasıl depolarsınız?
- 8. WMD Düzenleyicisi'ne özel düğmeler ekleme
- 9. Zengin metin editörüne javascript eklenemiyor
- 10. C# genel seri hale getirme yardımcı programı sınıfı
- 11. React.js: yeniden kullanılabilir bileşenler vs mixin yardımcı programı işlevleri
- 12. En iyi javascript dizi kitaplığı/yardımcı programı/uzantıları nelerdir?
- 13. Otomatik olarak düzleştirilmeyen bir jQuery harita yardımcı programı var mı?
- 14. Renk seçici yardımcı programı (renk pipet) Ubuntu içinde
- 15. Not editörüne RStudio'daki varsayılan düzenleyiciyi değiştirin ++
- 16. Yardımcı bir kör öğrencinin programlama dersleri için kurulum yapmasına yardımcı olun
- 17. Wmd-editör denetimi kullanılarak işaretleme ve html BOTH nasıl alınır?
- 18. Mac Yosemite'deki csvkit python paketinde csvsql yardımcı programı kullanılarak hata oluştu
- 19. programı
- 20. Bu programı nasıl hızlandırabilirim?
- 21. Programı nasıl tekrar edebilirim?
- 22. İzleme programı nasıl yapılır?
- 23. unix Diff yardımcı programı - < or > olmadan çıktı dosyası nasıl oluşturulur?
- 24. UI-sref işaretlemesinde yeniden yükleme seçeneği nasıl eklenir
- 25. Bu açılır pencereye bir yükleme gifi nasıl eklenir?
- 26. Bir vuejs listesi ararken bir yükleme simgesi nasıl eklenir
- 27. Yazmaya başladığımda metin kutusuna yükleme döndürücüsü nasıl eklenir?
- 28. C++ programı
- 29. Çerezlere nasıl yardımcı özelliklerle girerim?
- 30. Yardımcı program sınıfı nasıl yapılandırılır
Biraz daha spesifik olabilir misiniz? Önceden oluşturulmuş bir yardımcı program eklemeye mi çalışıyorsunuz yoksa kendi yazınızı mı yazmaya çalışıyorsunuz? –
Her ikisi de benim için yapabilir. – Mask
KİS'in hangi sürümünde önemli? –