2011-12-31 27 views
5

मैं एक संदर्भ मेनू तत्व जोड़ने के लिए एक फ़ायरफ़ॉक्स एक्सटेंशन लिख रहा हूं और मैं दोनों डोम तत्व और चयनित टेक्स्ट प्राप्त कर सकता हूं, लेकिन अचयनित शब्द प्राप्त करने के लिए प्रबंधित नहीं कर सकता जिस पर राइट क्लिक ईवेंट निकाल दिया गया था। मुझे लगता है कि यह संभव होना चाहिए, क्योंकि जादू-परीक्षक यह करता है, या यह एक विशेष अंतर्निहित कार्य है?क्या फ़ायरफ़ॉक्स एक्सटेंशन में संदर्भ मेनू के अंतर्गत शब्द प्राप्त करने का कोई तरीका है?

कोई भी विचार? अन्य दो प्राप्त करने के लिए कोड यहां दिया गया है:

oncommand="if(gContextMenu.isTextSelected) rightClick(document.commandDispatcher.focusedWindow.getSelection().toString()); else rightClick(gContextMenu.target.innerHTML);" 
+0

आप एक कस्टम संदर्भ मेनू जोड़ना चाहते हैं? या डिफ़ॉल्ट का उपयोग करें? – Liran

+0

डिफ़ॉल्ट एक। जब दायाँ क्लिक करते हैं, तो मैं एक नई प्रविष्टि को यह बताने में सक्षम होना चाहता हूं कि कर्सर के नीचे क्या शब्द था ... शायद बस इच्छापूर्ण सोच :) – yuttadhammo

उत्तर

2

मुझे ऐसा करने के लिए एक सुपर-आसान तरीका पता नहीं है। वर्तनी परीक्षक केवल डिफ़ॉल्ट रूप से textarea तत्वों में काम करता है (हालांकि इसे इनपुट फ़ील्ड के भीतर भी काम करने के लिए संशोधित किया जा सकता है)। इस प्रकार, उन कार्यक्षमताओं के लिए आंतरिक कोड के भीतर कार्यक्षमता सबसे अधिक संभावना है।

हालांकि, मैं कोड का एक लघु स्निपेट माउस कर्सर in an answer for another question StackOverflow पर यहाँ के तहत शब्द पाने के लिए दावा है कि पाया। यह कहां है कि आप कहां हैं इसका ट्रैक रखने के लिए यह ऑनमौसमोव घटना का उपयोग करता है।

एक प्रयोज्य दृष्टिकोण से, मैं व्यक्तिगत रूप से लगता है कि यह, पाठ वे में रुचि रखते हैं का चयन करने के लिए उपयोगकर्ता के लिए मजबूर तो उस पर काम करने के लिए सबसे अच्छा है। चयनित पाठ के साथ काम करने के लिए अंतर्निहित कार्यक्षमता पहले से मौजूद है (जैसा कि आपने बताया है), और तब उपयोगकर्ता के बारे में कोई सवाल नहीं है कि वे किस बारे में बात कर रहे हैं (हालांकि मुझे लगता है कि यह सब आपके अंतिम लक्ष्य पर निर्भर करता है)।