2009-07-24 12 views
13

में TinyMCE सक्रिय है या नहीं, मैं प्लगइन पर काम कर रहा हूं, जब TinyMCE विज़ुअल एडिटर के रूप में उपयोग में है, तो TinyMCE कमांड का उपयोग बॉडी कंटेंट एडिटिंग एरिया में टेक्स्ट डालने के लिए करता है। वर्तमान में, यह केवल कमांड चलाकर काम करता है। यदि यह काम करता है, तो TinyMCE सक्रिय है और यदि नहीं, तो मेरे पास HTML संपादक के साथ काम करने के लिए कस्टम जेएस है।यह जांचने के लिए कि वर्डप्रेस

मेरा प्रश्न, हालांकि: यह जांचने का कोई तरीका है कि TinyMCE सक्रिय है या नहीं, केवल आदेश चलाने के बजाए और यह विफल होने के बजाय नहीं?

उत्तर

23

और ... मैंने अपने लिए सवाल का जवाब दिया है।

is_tinyMCE_active = false; 
if (typeof(tinyMCE) != "undefined") { 
    if (tinyMCE.activeEditor == null || tinyMCE.activeEditor.isHidden() != false) { 
    is_tinyMCE_active = true; 
    } 
} 

चाल कि tinyMCE.activeEditor रिटर्न शून्य जब TinyMCE सक्रिय नहीं है है: सशर्त आप के लिए परीक्षण करना चाहते हैं इस प्रकार है। आप isHidden() विधि का उपयोग यह सुनिश्चित करने के लिए कर सकते हैं कि जब आप HTML संपादक मोड पर वापस स्विच कर लें तो यह निष्पादित नहीं हो रहा है।

यह TinyMCE वेबसाइट और फ़ोरम पर खराब तरीके से प्रलेखित है।

+0

Thaks। यह अच्छी तरह से काम किया। :) – Haris

+0

एचएम यह मेरे लिए काम नहीं कर रहा है। किसी कारण से, यह सच है कि यह HTML मोड या विजुअल मोड में है या नहीं। क्या किसी और को भी ये समस्या है? – Shaan

+1

मुझे लगता है कि मेरी समस्या यह है कि tinyMCE संपादक लोड नहीं हुआ है और मैं इसे पूरी तरह लोड होने से पहले जांच रहा हूं। मैं यह चेक करने से पहले लोड होने तक कैसे इंतजार करूं? – Shaan

7

हाँ, मैं वर्डप्रेस पर कि कोड देखा: ABSPATH/WP-शामिल/js/autosave.js फ़ाइल

// (bool) is rich editor enabled and active 
var rich = (typeof tinyMCE != "undefined") && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden(); 
2

इस सवाल खोज इंजन में रैंक के रूप में। मुझे लगता है कि जब हमें एक पृष्ठ में वर्डप्रेस एडिटर के कई उदाहरण होते हैं तो मुझे डेनियल का समर्थन करने के लिए थोड़ा सा जवाब देना चाहिए।

var is_editor_active = function(editor_id){ 

     if(typeof tinyMCE == 'undefined'){ 
      return false; 
     } 

     if(typeof editor_id == 'undefined'){ 
      editor = tinyMCE.activeEditor; 
     }else{ 
      editor = tinyMCE.EditorManager.get(editor_id); 
     } 

     if(editor == null){ 
      return false; 
     } 

     return !editor.isHidden(); 

    }; 

का उपयोग करता है तो आप केवल सक्रिय संपादक

if(is_editor_active()){ 
    // do stuff 
} 

कुछ की जरूरत आईडी के साथ एक संपादक जांच की जानी हैं जांच करने की आवश्यकता जब

if(is_editor_active('mycontent'){ 
    // do stuff 
} 

मैं इस आशा छोटे काम दूसरों के लिए सहायक होंगे :)