2012-02-27 13 views
8

ऐसा लगता है कि मैं वेबसाइट निर्माण पर थोड़ा पुराना हूं।नए फ्रेम क्या हैं?

कुछ साल पहले मैंने फ्रेम के साथ सरल वेबसाइटें बनाना सीखा।

फिर भी यह समाधान w3school.com द्वारा निराश है और फ़्रेम अब भविष्य के HTML संस्करणों में समर्थित नहीं हैं।

तो सरल प्रतिस्थापन क्या हैं?

  • iFrames भी
  • पीएचपी एक समाधान प्रदान करने लगता है सबसे डेवलपर्स द्वारा हतोत्साहित हो रहे हैं? फ्रेम बदलने के लिए php में एक आसान तरीका क्या है?
  • यदि मैं php का उपयोग नहीं कर रहा हूं (वास्तव में मुझे एक परियोजना में जावाईई का उपयोग करने की आवश्यकता है), तो मैं फ्रेम जैसी वेबसाइट कैसे बना सकता हूं?

लघु: आजकल एक अच्छी लग रही (फ्रेम जैसी) वेबसाइट कैसे बनाएं?

+0

यह निर्भर करता है। क्या आप एक सर्वरसाइड भाषा (पायथन, PHP, रूबी इत्यादि) का उपयोग कर रहे हैं या आप शुद्ध HTML के साथ काम कर रहे हैं? – Blender

+0

फ़्रेम के लिए आपके उपयोग क्या थे? उन्होंने आपके लिए क्या किया? – Oded

+0

इस पर काफी अच्छी चर्चा http://stackoverflow.com/questions/4846019/any-way-of-using-frames-in-html5 – synthesizerpatel

उत्तर

14

सामान्यतया:

दिखने में

CSS। सामग्री को बिछाने के लिए कई techniques हैं (सटीक प्रभाव के आधार पर, Holy Grail एक आम इच्छा है)।

The overflow properties संभाल स्क्रॉल पृष्ठों की उप-अनुभाग, हालांकि डिजाइनरों जो लगता है कि स्क्रीन स्थान हर समय का उपयोग कर एक मेनू होने एक अच्छा विचार आमतौर पर गलत हो रहा है।

metacontent का बचना दोहराव

(यानी चीजें बुनियादी संरचना, नेविगेशन मेनू, आदि जैसे उन्हें चिपकाने/कॉपी बिना पर डाल हर पेज)

एक टेम्पलेट प्रणाली (या एक प्रणाली शामिल है) है कि या तो सर्वर पक्ष (सबसे आम) या बिल्ड समय पर चलाता है (जो HTTP सर्वर का समर्थन कर सकता है जो केवल स्थिर फ़ाइलों को अनुमति देता है)।

जिस भाषा में इसे लागू किया गया है वह अप्रासंगिक है, PHP मक के समान है, जावा एक विकल्प है, मैं पर्ल की ओर जाता हूं (और अधिक विशेष रूप से: Template Toolkit), कई अन्य हैं।इस प्रकार की नौकरी के लिए जावास्क्रिप्ट तेजी से लोकप्रिय हो रहा है, assemble जैसे टूल उपलब्ध हो रहे हैं।

लोकप्रिय टेम्पलेट भाषाओं को खोजने के लिए एक खोज इंजन का उपयोग करें या अपनी प्रोग्रामिंग भाषा के लिए सिस्टम शामिल करें।

पेज

जावास्क्रिप्ट को छोड़े बिना नई सामग्री लोड हो रहा है, आम तौर पर XMLHttpRequest वस्तु (तकनीक अजाक्स के रूप में जाना जा रहा है) के साथ, और the History API (ताकि बुकमार्क और साथ संयोजन में उपयोग (यदि आप गंभीर सामग्री में परिवर्तन कर रहे हैं) लिंकिंग अभी भी काम करता है)। गिथब a good example of this हैं। Angular जैसे विभिन्न ढांचे हैं जो चीजों को आसान बनाने की कोशिश करते हैं। नोट limited browser support और जेएस को फाइल करने का कारण बनने वाली अन्य सभी चीजें good design principles essential का उपयोग कर बनाती हैं। इन चीजों को मजबूत बनाने का एक दृष्टिकोण Isomorphic JS लिखना है।

+1

एक तरफ के पिछले "सामग्री-फ्रेम" को कैसे बदलें और फिर "नेविगेशन-फ्रेम" को छोड़ दें, जैसा कि डुप्लिकेट कोड लिखने के बिना है? मैं अभी भी इन दो घटकों के साथ वेबसाइटों को देखता हूं (शायद इसके लिए अन्य शब्द भी हैं) – ctekk

+0

@ कोरटेक - "मेटाकंटेंट के डुप्लिकेशंस से बचने" और "पृष्ठ छोड़ने के बिना नई सामग्री लोड करना" नामक मेरे उत्तर के दो खंड देखें – Quentin

+0

ठीक है, मैं समझता हूं कि इन सर्वर साइड भाषाओं का उपयोग इसके लिए किया जाता है लेकिन आप उनके साथ यह कैसे करते हैं? एक विधि (जावा बोलने) बनाना जो तत्वों को हटा देता है और नए तत्वों को स्थान देता है? – ctekk

4

फ्रेम्स को एक नई "तकनीक" द्वारा प्रतिस्थापित नहीं किया गया है। कला की स्थिति सभी सामग्री को एक ही दस्तावेज़ में रखना और सीएसएस के माध्यम से इसे स्टाइल करना है। बेशक सर्वर की तरफ से आप इसे करने में मदद कर सकते हैं।

2

उपयोग CSS positioning एक फ्रेम की तरह इंटरफ़ेस बनाने के लिए और AJAX एक कंटेनर की सामग्री को बदलने के लिए। AJAX अनुरोधों को संभालने के लिए आप jQuery, Prototype या MooTools जैसे जावास्क्रिप्ट ढांचे का उपयोग कर सकते हैं।

हालांकि, यदि आप किसी अन्य डोमेन से सामग्री शामिल करना चाहते हैं तो आपको का उपयोग करना होगा, क्योंकि AJAX same origin policy का पालन करता है।

यदि आप DRY लिखना चाहते हैं (स्वयं को दोहराएं) तो आप किसी प्रकार की टेम्पलेट सिस्टम (PHP, रूबी, पर्ल, पायथन - और निश्चित रूप से इस भाषाओं के लिए एक ढांचा) का उपयोग कर सकते हैं।