2012-06-10 4 views
10

वहां कुछ शानदार वेब-डेवलपमेंट टूल हैं जो डेवलपर्स के जीवन को आसान बनाते हैं। LiveReload और CodeKit जैसे ऐप्स महान उदाहरण हैं।कैसे लाइवरलोड (और अन्य समान ऐप्स) तकनीकी रूप से काम करते हैं?

मुझे उन सभी के बारे में दिलचस्पी है, वे वेब ब्राउज़र में वेब पेज लाइव रीलोड लोड करते हैं (चाहे वह क्रोम, फ़ायरफ़ॉक्स या जो भी हो) हार्ड ड्राइव पर फ़ाइल परिवर्तन लिखे जाते हैं।

वे वास्तव में यह कैसे करते हैं? क्या कोई एपीआई है जो वेब ब्राउज़र विक्रेताओं ने इसे करने के लिए खुलासा किया है? या ब्राउज़र पर पहुंचने से पहले वेबपृष्ठ (जिसे वास्तव में वेब-डेवलपर द्वारा नहीं लिखा गया) के लिए इंजेक्शन दिया गया है, और कुछ अजाक्स जादू तब होता है जब ड्राइव पर फ़ाइल बदल जाती है।

मैं पाइथन या वाला (लिनक्स) और .NET (विंडोज) में ऐसा कुछ विकसित करने की योजना बना रहा हूं, इसलिए कृपया मुझे बताएं कि ऐसा करने के लिए कुछ दस्तावेज उपलब्ध हैं या नहीं।

उत्तर

1

ये आमतौर पर (हमेशा?) काफी सरल अवधारणा के आधार पर होते हैं - हर बार, कुछ क्लाइंट कोड ट्रिगर्स जो फ़ाइल अद्यतन होने पर सर्वर स्क्रिप्ट से पूछता है। यदि, और केवल अगर, यह है, तो यह पृष्ठ को फिर से लोड करता है - या, कुछ साइटों के लिए (एसओ और कुछ सोशल नेटवर्किंग साइट्स सोचें), यह केवल नई जानकारी डाउनलोड करता है और इसे सीटू में लोड करता है।

यदि आप स्थानीय सैंडबॉक्स में विकसित हो रहे हैं, तो वे एएमएक्स अनुरोधों को सेट करने में सक्षम सर्वर होने के बजाय ओएस 'फ़ाइल बदल सकते हैं' सिग्नल भी सुन सकते हैं। अधिकांश ऑपरेटिंग सिस्टम इन संकेतों को प्रदान करते हैं - उदाहरण के लिए, लिनक्स पर आपके पास inotify है। यह उनके वेब पेज से दिखाई देता है कि LiveReload इस तरह की एक प्रणाली का उपयोग करता है - उनके सूट का हिस्सा ब्राउज़र प्लगइन्स का एक सेट है, जो संभवतः ओएस सेवाओं के लिए जावास्क्रिप्ट एपीआई प्रदान करता है, और इसे अनुमति देने के लिए ब्राउज़र सैंडबॉक्स नियमों को समायोजित करता है।

+0

मुझे ऐसा कुछ करने पर संक्षिप्त दस्तावेज कहां मिल सकता है? – Kushal

+0

@ अधिसूचना एपीआई को दबाएं, AFAIK, काफी ओएस-विशिष्ट होने के लिए। इसलिए, आपको प्रासंगिक प्लेटफॉर्म दस्तावेज़ीकरण की तलाश करनी होगी - उम्मीद है कि कोई अन्य व्यक्ति आएगा जो मेरे द्वारा किए गए विनिर्देशों को बेहतर जानता है। – lvc

3

LiveReload FAQ से:

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

  1. या तो स्वयं आपके HTML कोड में एक स्क्रिप्ट टैग को जोड़ने के लिए, या
  2. एक ब्राउज़र एक्सटेंशन (स्थापित है कि, जब सक्रिय, पर देखे गए पृष्ठ स्क्रिप्ट टैग कहते हैं: वहाँ कि व्यवस्था करने के लिए 3 तरीके हैं फ्लाई), या
  3. अपने वेब ढांचे के लिए एक प्लगइन का उपयोग करें (जो अनुरोधों की सेवा करते समय फ्लाई पर स्क्रिप्ट टैग जोड़ता है), वर्तमान में केवल रेल/रैक के लिए उपलब्ध है।

इसके अलावा, मैं जानता हूँ कि इस सवाल पुराना है, लेकिन जो लोग भी यहां मिल गया "livereload अजगर" के लिए खोज के लिए, वहाँ एक महान LiveReload server written in python है।

संबंधित मुद्दे