2012-05-18 10 views
6

मैं अपेक्षाकृत नया प्रोग्रामर हूँ, एक साथी के साथ बात कर रही है उसने मुझसे कहा, कि AJAX से पहले, वह एक iframe इस्तेमाल किया डेटा भेजने और (जावास्क्रिप्ट की मदद से स्पष्ट रूप से) सामग्री को बदलने के लिए।iFrames पर AJAX क्यों?

मैं समझ गया कि दोनों इसी तरह की तकनीकों रहे हैं, लेकिन मैं उनकी विशेषता का वर्णन करने के लिए एक लेख,

क्या Iframe से अधिक AJAX के फायदे हैं नहीं लगा?

संपादित मैं did not तकनीक का कोई स्पष्टीकरण नहीं पाते हैं, लेकिन मेरे साथी ने मुझे बताया कि वह डेटा एक छिपा iframe गर्त पोस्ट और iframe सबमिट करते हैं, बस आइफ्रेम की तरह ध्वनि ताजा किए जाने की है, लेकिन मैं कभी नहीं किया था कि

+0

Iframes AJAX अनुरोध के हिस्से के रूप में फ़ाइलों को अपलोड करना आसान बनाता है। अन्यथा वे इस तरह के अधिक फायदे नहीं देते हैं। – techfoobar

+0

@techfoobar ठीक है, लेकिन मैं दोनों तकनीकों का एक स्पष्टीकरण देखना चाहता हूं, शायद कुछ मामलों में बेहतर उपयोग इफ्रेम – osdamv

+0

आखिरी बार मैंने 2004 में आईफ्रेम का उपयोग किया था! @techfoobar की तरह, यह फाइल अपलोड करने के लिए बहुत आसान बनाता है क्योंकि आपकी पोस्ट तुल्यकालिक होगी, लेकिन स्क्रीन पर लोड जानकारी जैसे अन्य चीजों के लिए, AJAX सही ढंग से लागू होने पर बेहतर काम करता है। AJAX के साथ आपको अपने मुख्य दृश्य पर दिखाने के लिए केवल कुछ चीज़ें प्राप्त करने के लिए पूर्ण पृष्ठ पोस्ट करने की आवश्यकता नहीं है, और आपको iFrame में किसी दस्तावेज़ से तत्व लेने के लिए अतिरिक्त कोड लिखना नहीं है। – MilkyWayJoe

उत्तर

7
  1. एक फायदा AJAX अनुरोध के राज्य/स्थिति को पढ़ने में सक्षम है। आपके पास पेज हेडर तक पहुंच भी है, जो आप इफ्रेम के साथ नहीं हैं।
  2. अजाक्स एकाधिक एसिंच अनुरोधों को संभाल सकता है। यह थोड़ा जटिल काम Iframes के साथ, क्योंकि आपके लिए ही एक रीसाइक्लिंग के अनुरोध के अनुसार एक Iframe बनाने (और उन सभी की ट्रैक रखने के बाद में उन्हें नष्ट करने के लिए) की जरूरत है।
  3. मौजूदा पुस्तकालयों AJAX अच्छाई से भरे हुए हैं और वहाँ एक बड़ा समुदाय के समर्थन आधार है।
+0

मुझे लगता है कि @ rob- यहां वर्णित sedgwick भी ध्यान दिया जाना चाहिए: पृष्ठ की सीएसएस स्टाइल केवल AJAX के माध्यम से लोड सामग्री पर लागू होगा। जब आप iFrame के माध्यम से सामग्री लोड करते हैं तो आपको अपनी शैलियों को फिर से शामिल करना होगा .. –

2

AJAX के माध्यम से लोड किए गए मेरे अनुभव डेटा में iFrame के अंदर बनाम डेटा को कुशल बनाना आसान है। इसके अलावा AJAX एक बेहतर उपयोगकर्ता अनुभव बनाने के लिए वास्तव में अच्छा है। हालांकि मुझे यकीन नहीं है कि अगर मैं एक ही श्रेणी में iFrames और AJAX को जरूरी रखता हूं क्योंकि AJAX एसिंक्रोनस सामग्री है और iFrame वास्तव में आपकी साइट के बाहर से एक और पृष्ठ लोड किया जा रहा है।

इसके अलावा, मैं बनाने एसईओ बाधाओं iFraming और खराब उपयोगकर्ता अनुभव बनाने देख सकता था। ईमानदारी से हालांकि अगर मुझे सामग्री तक पहुंच मिली तो मैं AJAX पसंद करूंगा।

+1

आमतौर पर आईफ़्रेम छिपा हुआ है और AJAX से पहले, सर्वर के डेटा को पुनः लोड किए बिना डेटा पुनर्प्राप्त करने के लिए इसका उपयोग करना आम था। मुख्य पृष्ठ में रहने वाले जावास्क्रिप्ट द्वारा इफ्रेम की सामग्री को पकड़ लिया गया था। एचटीएमएल को डीओएम में डाला जाना था, जेएस के माध्यम से, या मूल पृष्ठ के खिलाफ निष्पादित किया गया था यदि यह जेएस ब्लॉक था। –

7
iframe 

एक तरह से शो अलग दो (या अधिक) एक

ajax 

में वेबपेजों है मर्ज दो (या अधिक) वेबपेजों (या नए डेटा) में करने के लिए एक रास्ता है मुझे लगता है अजाक्स के लिए एक

कुंजी लाभ हैं;

  • सीएसएस पेज में कहा जाता है के लिए प्रवाह होगा।
  • एक तरह से डेटा पुनः प्राप्त और पृष्ठ ताज़ा विज़िटर के लिए भी नई जानकारी अपडेट करने के लिए।

अजाक्स के चालाक उपयोग के लिए इस साइट का एक फैब उल्लेख है।

A'Google तत्काल 'और विचारोत्तेजक खोज अजाक्स

के माध्यम से हासिल की है
3

बस मेरे दो सेंट:

मुझे लगता है कि इसके बाद के संस्करण क्रिस के साथ सहमत मैं यह नहीं कहूंगा कि वे तुलनीय है।

उपयोग के मामले में मुझे लगता है कि iFrames को AJAX से अधिक काम करना आसान लगता है और यदि आपको किसी अन्य पृष्ठ पर एक जटिल फ़ॉर्म सबमिट करने की आवश्यकता है, लेकिन आपको किसी भी प्रतिक्रिया की आवश्यकता नहीं है - iframe मार्ग अब तक है कोड के लिए सबसे आसान।

इसके अलावा, एक रूपक का उपयोग करके AJAX, एक बहुत ही जानकार काम करता है। यह एकाधिक अनुरोधों, उन अनुरोधों की स्थिति को संभालेगा, और आपके इच्छित प्रारूप में डेटा को वापस रखेगा।

0

मैं बस इसे जोड़ना चाहता था क्योंकि मुझे किसी भी उत्तर में नहीं देखा गया था।

अजाक्स का उपयोग करने के कारण अधिकांशतः नियंत्रण के बारे में हैं, जो आपको बहुत कुछ मिलता है। इन कारणों का उल्लेख ऊपर किया गया है।

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

आईफ्रेम इस का एक महान उदाहरण हैं। वे किसी अन्य एचटीएमएल में कुछ एचटीएमएल शामिल करना चाहते हैं, एक अविश्वसनीय रूप से आम उपयोग मामले का प्रतिनिधित्व करते हैं। दुर्भाग्यवश, वे इस पर बहुत आश्चर्यजनक नहीं हैं, अक्सर किसी और चीज की तुलना में अधिक सिरदर्द पैदा करते हैं।

यदि आप कुछ शामिल करना चाहते हैं और इसे अपनी साइट के साथ गड़बड़ नहीं करना चाहते हैं, न ही आपकी साइट के साथ गड़बड़ है, तो iFrames बहुत अच्छे हैं। कुछ अन्य एचटीएमएल में कुछ यादृच्छिक एचटीएमएल सहित अधिक आम उपयोग मामले के लिए, अजाक्स बेहतर है।

और यहां वह बिंदु है जिसे मैं बनाने की कोशिश कर रहा हूं: यह गूंगा है। ऐसा कोई कारण नहीं है कि आईफ्रेम की तरह कुछ न हो जो अजाक्स की तरह काम करता हो। लेकिन, अजाक्स के साथ बोर्ड पर कूदकर (जैसा कि हम सभी ने किया), अब हमें कोई विकल्प नहीं मिला है।

सबसे बड़ी वजह यह समस्या है कि जेएस इंटरनेट के पूर्ण बिल्डिंग ब्लॉक के रूप में कभी नहीं था। इसके अलावा, इसका उपयोग उपयोगकर्ता की गोपनीयता का उल्लंघन करने के लिए लगभग हर साइट द्वारा किया जा रहा है। इसलिए, यदि आप iFrames का उपयोग करने के लिए एक अच्छे कारण की तलाश में हैं, तो यह मेरा है:

जेएस की आवश्यकता नहीं है। यदि आप अपनी साइट को पर निर्भर पर निर्भर करते हैं, तो यह एक कठिन अर्जित उपलब्धि है, और साइट समग्र रूप से कम "हैकी" महसूस करेगी।

वैसे भी, यह सिर्फ मेरा इनपुट है।

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