2009-12-14 12 views
10

जावास्क्रिप्ट से पाइथन पुस्तकालयों को कॉल करने का कोई आसान तरीका है? विशेष रूप से फ़ायरफ़ॉक्स एक्सटेंशन के अंदर से।जावास्क्रिप्ट से पाइथन को कॉल करना

शुद्ध पायथन लाइब्रेरी को संकलित करने का एक अच्छा विकल्प भी बहुत अच्छा होगा। मैंने Pyjamas पर देखा, लेकिन ऐसा लगता है कि यह पाइथन के लिए केवल आंशिक समर्थन प्रदान करता है।

+0

क्या आप ब्राउज़र-पक्ष पायथन के बारे में पूछ रहे हैं? उपयोगकर्ता के ब्राउज़र में उस पायथन को कौन इंस्टॉल करता है? यह कैसे काम करेगा? –

+1

बस स्पष्ट करने के लिए, जावास्क्रिप्ट का आप उल्लेख करते हैं-क्या आप अपने वेब सर्वर पर वेब पृष्ठों में जावास्क्रिप्ट का मतलब है, या आप जावास्क्रिप्ट/पायथन के मिश्रण में फ़ायरफ़ॉक्स एक्सटेंशन लिखना चाहते हैं? –

+0

मैं अजगर पुस्तकालयों का उपयोग कर मौजूदा फ़ायरफ़ॉक्स एक्सटेंशन लिखना/बढ़ा देना चाहता हूं। –

उत्तर

3

आप या तो निर्मित अजगर समर्थन के साथ एक ब्राउज़र की आवश्यकता होगी (लेकिन यह एक "मानक" नहीं है, इसलिए यह एक वेबपैप का उपयोग करने के उद्देश्य को हरा देगा - यदि आपको एक विशेष ग्राहक की आवश्यकता है, तो आप क्लासिक गुई का बेहतर उपयोग कर सकते हैं), या पाइथन को जावास्क्रिप्ट में अनुवाद करने का एक तरीका; वहाँ समय इस के लिए तीन विकल्प:

  • पजामा
  • Skulpt
  • PyPy

इसके विपरीत, यदि आप सिर्फ फ़ायरफ़ॉक्स विस्तार करने के लिए, इस पर एक नज़र डालें हैं: http://pyxpcomext.mozdev.org/

3

यह एक विस्तार में नहीं किया जाएगा, लेकिन अधिक होने की संभावना एक प्लगइन (एक कभी कभी अस्पष्ट लेकिन उल्लेखनीय अंतर।)

मैं अभी किसी भी प्लग के बारे में पता नहीं कर रहा हूँ कि अजगर सीधे बेनकाब, लेकिन वहाँ एक हैं कुछ तरीकों से मैंने इसे अप्रत्यक्ष रूप से काम करने के बारे में सुना है। उदाहरण के लिए: आप आयरनपीथन (एक नेट संचालित संस्करण) running through Silverlight प्राप्त कर सकते हैं। इस विषय के बारे में slashdot article भी आपको दिलचस्प लगेगा।

अन्यथा, नहीं। मुझे विश्वास नहीं है कि आज इसे करने का सीधा तरीका है। ऐसा नहीं है कि मैं एक से प्यार नहीं करूंगा। :)

0

मैं 100% यकीन नहीं है, लेकिन मैं एक तथ्य के लिए पता है कि गूगल क्रोम पर आप नहीं कर सकते हैं: आप की आवश्यकता होगी या तो:

  1. किसी प्रकार की एक HTTP "प्रवेश द्वार"
  2. एक एनपीएपीआई प्लगइन

सुरक्षा चिंताओं के कारण स्थिति फ़ायरफ़ॉक्स मामले पर भी समान है।

4

आप Titanium Desktop पर देख सकते हैं। इसमें एक शानदार एपीआई है जो आपको आसानी से जावास्क्रिप्ट के भीतर पाइथन को कॉल करने की अनुमति देती है।

उदाहरण के लिए:

<script type="text/python" src="myfile.py"/> 

यह विस्तार और सरल <script> टैग के साथ कार्यों कॉल करने के लिए Kroll अजगर पुल का उपयोग करता है।

आप आसानी से पूर्णांक, फ़्लोटिंग पॉइंट नंबर, बूलियन, ऑब्जेक्ट्स पास कर सकते हैं, यह सब वहाँ है।

उपरोक्त लिंक में इसके सरल उपयोग के कई उदाहरण हैं, और स्वाभाविक रूप से यह डाउनलोड के लिए उपलब्ध है। :)

3

आप एक मूल फ़ायरफ़ॉक्स एक्सटेंशन बना सकते हैं जो आपके पायथन कोड को चलाने के लिए libpython का उपयोग करता है। उस से, एक इंटरफ़ेस निर्यात करें जो आपके जावास्क्रिप्ट कोड को आपके एक्सटेंशन में चल रहे पायथन को कॉल करने में सक्षम बनाता है।

ऐसा प्रतीत होता है एक Firefox अजगर विस्तार है कि तुम क्या चाहते हो करने के लिए सक्षम हो सकता है है कि वहाँ: http://pyxpcomext.mozdev.org/

2

https://github.com/niedbalski/slurpy Slurpy परियोजना के लिए एक नजर डालें, यहलागू करता हैआरपीसी तंत्र के रूप में दो तरह के संचार।

 python = new Slurpy(); 
     python.on('loaded', function(evt) { 
      python.sum(10.5,1000, function(response) { 
       alert(response);  
      }); 
     }); 
संबंधित मुद्दे