Prototype JavaScript Framework
முன்மாதிரி ஜாவாஸ்கிரிப்ட் கட்டமைப்பு என்பது பிப்ரவரி 2005 இல் சாம் ஸ்டீபன்சன் உருவாக்கிய ஜாவாஸ்கிரிப்ட் கட்டமைப்பாகும், இது ரூபி ஆன் ரெயில்ஸில் அஜாக்ஸ் ஆதரவின் ஒரு பகுதியாக இருந்தது. இது பொதுவாக prototype.js என்று பெயரிடப்பட்ட ஜாவாஸ்கிரிப்ட் குறியீட்டின் ஒற்றை கோப்பாக செயல்படுத்தப்படுகிறது. முன்மாதிரி தனித்தனியாக விநியோகிக்கப்படுகிறது, ஆனால் ரூபி ஆன் ரெயில்ஸ், script.aculo.us மற்றும் ரிக்கோ போன்ற பெரிய திட்டங்களின் ஒரு பகுதியாகவும் உள்ளது. W3tech இன் கூற்றுப்படி, முன்மாதிரி அனைத்து வலைத்தளங்களிலும் 0.6% ஆல் பயன்படுத்தப்படுகிறது. அம்சங்கள் முன்மாதிரி ஜாவாஸ்கிரிப்ட் பயன்பாடுகளை உருவாக்க பல்வேறு செயல்பாடுகளை வழங்குகிறது. நிரலாக்க குறுக்குவழிகள் முதல் எக்ஸ். எம். எல். எச். டி. டி. பி. ரிக்வெஸ்டைக் கையாள்வதற்கான முக்கிய செயல்பாடுகள் வரை அம்சங்கள் உள்ளன. முன்மாதிரி வகுப்புகள் மற்றும் வகுப்பு அடிப்படையிலான பொருள்களை ஆதரிக்க நூலக செயல்பாடுகளையும் வழங்குகிறது. ஜாவாஸ்கிரிப்டில், பொருள் உருவாக்கம் அதற்கு பதிலாக முன்மாதிரி அடிப்படையிலானதுஃ ஒரு பொருளை உருவாக்கும் செயல்பாடு ஒரு முன்மாதிரி பண்பைக் கொண்டிருக்கலாம், மேலும் அந்த சொத்துக்கு ஒதுக்கப்பட்ட எந்தவொரு பொருளும் அந்த செயல்பாட்டுடன் உருவாக்கப்பட்ட பொருட்களுக்கான முன்மாதிரியாகப் பயன்படுத்தப்படும். முன்மாதிரி கட்டமைப்பை இந்த மொழி அம்சத்துடன் குழப்பக்கூடாது. மாதிரி பயன்பாட்டு செயல்பாடுகள் $() செயல்பாடு டாலர் செயல்பாடு, $(), பெட்எலெமென்ட்பைட் செயல்பாட்டிற்கான சுருக்கெழுத்தாகப் பயன்படுத்தப்படலாம். ஒரு எச். டி. எம். எல் பக்கத்தின் ஆவண பொருள் மாதிரியில் (டிஓஎம்) ஒரு உறுப்பைக் குறிக்க, ஒரு உறுப்பை அடையாளம் காணும் வழக்கமான செயல்பாடுஃ document.getElementById ("ஐடி _ ஆஃப் _ எலிமென்ட்"). பாணி. நிறம் = "#ffffff"; $() செயல்பாடு குறியீட்டைக் குறைக்கிறதுஃ $("ஐடி _ ஆஃப் _ எலிமென்ட்"). செட்ஸ்டைல் ({நிறம்ஃ '#ffffff'}); $() செயல்பாடு ஒரு உறுப்பை அளவுருவாகப் பெறலாம் மற்றும் முந்தைய எடுத்துக்காட்டில் இருந்ததைப் போல, ஒரு முன்மாதிரி நீட்டிக்கப்பட்ட பொருளைத் திருப்பித் தரும். வார்டு டோம்எலெமென்ட் = document.getElementById ("ஐடி _ ஆஃப் _ எலிமென்ட்");// வழக்கமான பொருள் குறிப்பு திரும்பிய வார்டு முன்மாதிரிஎன்ஹான்ஸ்டு டோம்எலெமென்ட் = $(டோம்எலெமென்ட்);// முன்மாதிரி நீட்டிக்கப்பட்ட பொருள் குறிப்பு குறிப்புஃ அடிக்கோடிட்டுக் குறிப்பைப் போலவே (_), $எழுத்து ஜாவாஸ்கிரிப்ட் அடையாளங்காட்டிகளில் சட்டபூர்வமான "சொல் எழுத்து" ஆகும், மேலும் மொழியில் வேறு எந்த முக்கியத்துவமும் இல்லை. வழக்கமான வெளிப்பாடுகளுக்கான ஆதரவின் அதே நேரத்தில் இது மொழியில் சேர்க்கப்பட்டது, இதனால் $'மற்றும் $' போன்ற பெர்ல் போன்ற பொருந்தும் மாறிகள் பின்பற்றப்படலாம். $F () செயல்பாட்டை $() செயல்பாட்டில் கட்டமைத்தல்ஃ $F () செயல்பாடு கோரப்பட்ட படிவ உறுப்பின் மதிப்பைத் தருகிறது. ஒரு 'உரை' உள்ளீட்டிற்கு, செயல்பாடு உறுப்பில் உள்ள தரவைத் திருப்பித் தரும். ஒரு 'தேர்ந்தெடுக்கப்பட்ட' உள்ளீட்டு உறுப்புக்கு, செயல்பாடு தற்போது தேர்ந்தெடுக்கப்பட்ட மதிப்பைத் தரும். $F ("ஐடி _ ஆஃப் _ இன்புட் _ எலிமெண்ட்") $$() செயல்பாடு டாலர் டாலர் செயல்பாடு என்பது முன்மாதிரியின் சிஎஸ்எஸ் செலக்டர் என்ஜின் ஆகும். இது ஒரு சிஎஸ்எஸ் பாணித்தாளில் ஒரு தேர்வாளரின் அதே விதிகளைப் பின்பற்றி, பொருந்தக்கூடிய அனைத்து கூறுகளையும் திருப்பித் தருகிறது. எடுத்துக்காட்டாக, நீங்கள் "துடிப்பு" வகுப்பில் உள்ள அனைத்து <a> கூறுகளையும் பெற விரும்பினால், நீங்கள் பின்வருவனவற்றைப் பயன்படுத்துவீர்கள்ஃ $$("a.pulsate") இது கூறுகளின் தொகுப்பைத் தருகிறது. நீங்கள் மைய முன்மாதிரி நூலகத்தின் script.aculo.us நீட்டிப்பைப் பயன்படுத்துகிறீர்கள் என்றால், நீங்கள் பின்வருமாறு "துடிப்பு" (கண் சிமிட்டுதல்) விளைவைப் பயன்படுத்தலாம்ஃ $$("a.pulsate"). ஒவ்வொன்றும் (Effect.Pulsate); அஜாக்ஸ் பொருள் குறுக்கு-உலாவி XMLHttpReக்வெஸ்ட் செயல்பாட்டை இயக்கத் தேவையான குறியீட்டின் அளவைக் குறைக்கும் முயற்சியில், முன்மாதிரி வெவ்வேறு உலாவிகளை சுருக்குவதற்கு அஜாக்ஸ் பொருளை வழங்குகிறது. இது இரண்டு முக்கிய முறைகளைக் கொண்டுள்ளதுஃ Ajax.Request () மற்றும் Ajax.Updater (). அஜாக்ஸ் பொருளின் இரண்டு வடிவங்கள் உள்ளன. Ajax.Request ஒரு அஜாக்ஸ் அழைப்பிலிருந்து மூல எக்ஸ்எம்எல் வெளியீட்டைத் தருகிறது, அதே நேரத்தில் Ajax.Updater ஒரு குறிப்பிட்ட டிஓஎம் பொருளுக்குள் வருவாயை செலுத்தும். கீழே உள்ள Ajax.Request இரண்டு எச். டி. எம். எல் படிவ உள்ளீட்டு கூறுகளின் தற்போதைய மதிப்புகளைக் கண்டறிந்து, அந்த உறுப்பு பெயர்/மதிப்பு ஜோடிகளுடன் சேவையகத்திற்கு ஒரு எச். டி. டி. பி போஸ்ட் கோரிக்கையை வெளியிடுகிறது, மேலும் சேவையகத்திலிருந்து எச். டி. டி. பி பதில் பெறப்படும்போது ஒரு தனிப்பயன் செயல்பாட்டை இயக்குகிறது (கீழே உள்ள ஷோரெஸ்பான்ஸ் என்று அழைக்கப்படுகிறது): புதிய Ajax.Request ("எச். டி. டி. பிஃ// லோக்கல் ஹோஸ்ட்/சர்வர் _ ஸ்கிரிப்ட்", {அளவுருக்கள்ஃ {மதிப்பு1: $எஃப் ("படிவம் _ உறுப்பு _ ஐடி _ 1"), மதிப்பு2: $எஃப் ("படிவம் _ உறுப்பு _ ஐடி _ 2"), ஆன் சூசெஸ்ஃ ஷோரெஸ்பான்ஸ், ஆன்ஃபைலர்ஃ ஷோஎர்ரர்}; பொருள் சார்ந்த நிரலாக்க முன்மாதிரி மேலும் பாரம்பரிய பொருள் - ஒரு புதிய வகுப்பை உருவாக்க Class.create () முறை பயன்படுத்தப்படுகிறது. ஒரு வகுப்புக்கு ஒரு முன்மாதிரி ஒதுக்கப்படுகிறது, இது வகுப்பின் நிகழ்வுகளுக்கான வரைபடமாக செயல்படுகிறது. ({// துவக்க முறை ஒரு கட்டமைப்பாளராக செயல்படுகிறதுஃ செயல்பாடு () {this.data = "ஹலோ வேர்ல்ட்";}}); மற்றொரு வகுப்பை நீட்டித்தல்ஃ Ajax.Request = Class.create (Ajax.Base, {// துவக்க முறையை மீறுதல் துவக்க முறைஃ செயல்பாடு (URL, விருப்பங்கள்) {this.transport = Ajax.getTransport (); this.setOptions (விருப்பங்கள்); this.request (URL);},//. மேலும் முறைகள் சேர்க்கவும். செயல்பாட்டின் விளைவாக ஒருங்கிணைந்த பொருளும் திரும்பப் பெறப்படுகிறது. மேலே உள்ள எடுத்துக்காட்டில் உள்ளபடி, முதல் அளவுரு வழக்கமாக அடிப்படை பொருளை உருவாக்குகிறது, இரண்டாவது கூடுதல் பண்புகளை வரையறுக்க மட்டுமே பயன்படுத்தப்படும் அநாமதேய பொருள். முழு துணை வகுப்பு அறிவிப்பும் செயல்பாட்டு அழைப்பின் அடைப்புக்குறிக்குள் நிகழ்கிறது. சிக்கல்கள் jQuery போன்ற பிற ஜாவாஸ்கிரிப்ட் நூலகங்களைப் போலல்லாமல், முன்மாதிரி டிஓஎம் ஐ விரிவுபடுத்துகிறது. நூலகத்தின் அடுத்த முக்கிய பதிப்பில் இதை மாற்றுவதற்கான திட்டங்கள் உள்ளன. ஏப்ரல் 2010 இல், பதிவர் ஜூரி 'கங்காக்ஸ்' ஜெய்ட்சேவ் (முன்மாதிரி கோர்) W3C டிஓஎம் வரையறுக்கப்பட்ட பொருட்களில் புதிய முறைகள் மற்றும் பண்புகளை குரங்கு இணைப்பதில் இருந்து பின்பற்றக்கூடிய சிக்கல்களை விரிவாக விவரித்தார். இந்த யோசனைகள் மார்ச் 2010 இல் யாகூ வெளியிட்ட எண்ணங்களை எதிரொலிக்கின்றன! டெவலப்பர் நிக்கோலஸ் சி. ஜாகாஸ் அவை பின்வருமாறு சுருக்கமாகக் கூறப்பட்டுள்ளன குறுக்கு உலாவி சிக்கல்கள்ஃ ஹோஸ்ட் பொருள்கள் விதிகளுக்கு உட்பட்டவை அல்ல, இணங்காத ஐஇ டிஓஎம் நடத்தை போன்றவை. 2008 வாக்கில், தற்போதைய உலாவிகளின் புதிய பதிப்புகளுடன் இணைந்து, முன்மாதிரியின் பழைய பதிப்புகளில் டிஓஎம்-நீட்டிப்பு முறைகளைப் பயன்படுத்துவதில் குறிப்பிட்ட சிக்கல்கள் ஏற்கனவே ஆவணப்படுத்தப்பட்டன. element.hide () போன்ற உறுப்பு போன்ற முன்பே இருக்கும் 'ஹோஸ்ட்' டிஓஎம் பொருள்களுக்கு புதிய முறைகள் மற்றும் பண்புகளைச் சேர்ப்பதற்குப் பதிலாக, இந்த சிக்கல்களுக்கான தீர்வு, இந்த ஹோஸ்ட் பொருள்களைச் சுற்றி ரேப்பர் பொருள்களை வழங்குவதும், அவற்றில் புதிய முறைகளைச் செயல்படுத்துவதும் ஆகும். jQuery என்பது அந்த பெயரின் நூலகத்தில் உள்ள ஒரு ரேப்பர் பொருள். அஜாக்ஸ் (நிரலாக்கம்) ஜாவாஸ்கிரிப்ட் கட்டமைப்புகளின் ஒப்பீடு மூடூல்கள் ஜாவாஸ்கிரிப்ட் கட்டமைப்பு jQuery ஜாவாஸ்கிரிப்ட் கட்டமைப்பு ஜாவாஸ்கிரிப்ட் நூலக குறிப்புகள் நூலியல் வெளிப்புற இணைப்புகள் ஜாவாஸ்கிரிப்ட் நூலகங்கள் அஜாக்ஸ் (நிரலாக்கம்) எம்ஐடி உரிமத்தைப் பயன்படுத்தி மென்பொருள்