ஜாவாஸ்கிரிப்ட் பொருள்களை HTML5 லோக்கல் ஸ்டோரேஜ் மற்றும் செஷன் ஸ்டோரேஜில் சேமித்தல்

ஜாவாஸ்கிரிப்ட் பொருள்களை HTML5 லோக்கல் ஸ்டோரேஜ் மற்றும் செஷன் ஸ்டோரேஜில் சேமித்தல்
ஜாவாஸ்கிரிப்ட் பொருள்களை HTML5 லோக்கல் ஸ்டோரேஜ் மற்றும் செஷன் ஸ்டோரேஜில் சேமித்தல்

வலை சேமிப்பகத்தில் உள்ள பொருள்களுடன் பணிபுரிதல்

HTML5 லோக்கல் ஸ்டோரேஜ் அல்லது செஷன் ஸ்டோரேஜ் உடன் பணிபுரியும் போது, ​​ஜாவாஸ்கிரிப்ட் பொருட்களைச் சேமிக்க முயற்சிக்கும்போது டெவலப்பர்கள் அடிக்கடி சிக்கல்களை எதிர்கொள்கின்றனர். பழமையான தரவு வகைகள் மற்றும் அணிவரிசைகளைப் போலன்றி, பொருள்கள் சரங்களாக மாற்றப்பட்டதாகத் தெரிகிறது, இது குழப்பம் மற்றும் எதிர்பாராத முடிவுகளுக்கு வழிவகுக்கும்.

இணைய சேமிப்பகத்தைப் பயன்படுத்தி பொருட்களை எவ்வாறு சரியாகச் சேமிப்பது மற்றும் மீட்டெடுப்பது என்பதைப் புரிந்துகொள்வது பல இணையப் பயன்பாடுகளுக்கு முக்கியமானது. பொருள்கள் ஏன் சரங்களாக மாற்றப்படுகின்றன என்பதை இந்த வழிகாட்டி ஆராய்ந்து, உங்கள் பொருள்கள் சரியாகச் சேமிக்கப்பட்டு மீட்டெடுக்கப்படுவதை உறுதிசெய்ய எளிய தீர்வை வழங்கும்.

கட்டளை விளக்கம்
JSON.stringify() JavaScript பொருள் அல்லது மதிப்பை JSON சரமாக மாற்றுகிறது, இது லோக்கல் ஸ்டோரேஜ் அல்லது செஷன் ஸ்டோரேஜில் சேமிப்பை அனுமதிக்கிறது.
localStorage.setItem() லோக்கல் ஸ்டோரேஜ் ஆப்ஜெக்ட்டில் ஒரு முக்கிய மதிப்பு ஜோடியை சேமிக்கிறது, இது உலாவி அமர்வுகள் முழுவதும் தரவு தொடர்ந்து இருக்க அனுமதிக்கிறது.
localStorage.getItem() உள்ளூர் சேமிப்பகத்திலிருந்து கொடுக்கப்பட்ட விசையுடன் தொடர்புடைய மதிப்பை மீட்டெடுக்கிறது.
JSON.parse() ஒரு JSON சரத்தை பாகுபடுத்தி, அதை மீண்டும் ஜாவாஸ்கிரிப்ட் பொருளாக மாற்றுகிறது, இது சிக்கலான தரவு கட்டமைப்புகளை மீட்டெடுக்க உதவுகிறது.
sessionStorage.setItem() செஷன் ஸ்டோரேஜ் ஆப்ஜெக்ட்டில் ஒரு முக்கிய-மதிப்பு ஜோடியை சேமிக்கிறது, இது பக்க அமர்வின் காலத்திற்கு தரவு தொடர்ந்து இருக்க அனுமதிக்கிறது.
sessionStorage.getItem() செஷன் ஸ்டோரேஜிலிருந்து கொடுக்கப்பட்ட விசையுடன் தொடர்புடைய மதிப்பை மீட்டெடுக்கிறது.

வலை சேமிப்பகத்தில் பொருட்களை திறம்பட சேமித்தல் மற்றும் மீட்டெடுத்தல்

ஜாவாஸ்கிரிப்டில், localStorage மற்றும் sessionStorage உலாவியில் முக்கிய மதிப்பு ஜோடிகளைச் சேமிக்க உங்களை அனுமதிக்கும் இணைய சேமிப்பக பொருள்கள். இருப்பினும், இந்த சேமிப்பக தீர்வுகள் சரங்களை மட்டுமே ஆதரிக்கின்றன, அதாவது ஜாவாஸ்கிரிப்ட் பொருளை நேரடியாகச் சேமிக்க முயற்சித்தால், பொருள் சரம் பிரதிநிதித்துவமாக மாற்றப்படும். [object Object]. பொருட்களை திறம்படச் சேமிக்க, அவற்றைப் பயன்படுத்தி JSON சரமாக மாற்ற வேண்டும் JSON.stringify(). இந்த முறை ஒரு ஜாவாஸ்கிரிப்ட் பொருளை எடுத்து ஒரு JSON சரத்தை வழங்குகிறது, அதை சேமிக்க முடியும் localStorage அல்லது sessionStorage.

சேமிக்கப்பட்ட பொருளை மீட்டெடுக்க, நீங்கள் JSON சரத்தை மீண்டும் ஜாவாஸ்கிரிப்ட் பொருளாக மாற்ற வேண்டும் JSON.parse(). இந்த முறை JSON சரத்தை எடுத்து அதனுடன் தொடர்புடைய ஜாவாஸ்கிரிப்ட் பொருளை வழங்குகிறது. மேலே உள்ள எடுத்துக்காட்டுகளில் வழங்கப்பட்ட ஸ்கிரிப்டுகள் இந்த செயல்முறையை நிரூபிக்கின்றன. முதலில், ஒரு பொருள் உருவாக்கப்பட்டு JSON சரமாக மாற்றப்படுகிறது JSON.stringify() சேமித்து வைப்பதற்கு முன் localStorage பயன்படுத்தி localStorage.setItem(). பொருளை மீட்டெடுக்க, JSON சரம் பெறப்பட்டது localStorage பயன்படுத்தி localStorage.getItem() பின்னர் பயன்படுத்தி ஜாவாஸ்கிரிப்ட் பொருளாக மீண்டும் பாகுபடுத்தப்பட்டது JSON.parse().

லோக்கல் ஸ்டோரேஜில் ஜாவாஸ்கிரிப்ட் பொருட்களை சேமித்தல் மற்றும் மீட்டெடுத்தல்

லோக்கல் ஸ்டோரேஜுக்கு JavaScript மற்றும் JSON ஆகியவற்றைப் பயன்படுத்துதல்

// Create an object
var testObject = {'one': 1, 'two': 2, 'three': 3};

// Convert the object to a JSON string and store it in localStorage
localStorage.setItem('testObject', JSON.stringify(testObject));

// Retrieve the JSON string from localStorage and convert it back to an object
var retrievedObject = JSON.parse(localStorage.getItem('testObject'));

// Verify the type and value of the retrieved object
console.log('typeof retrievedObject: ' + typeof retrievedObject);
console.log('Value of retrievedObject: ', retrievedObject);

// Output should be:
// typeof retrievedObject: object
// Value of retrievedObject: { one: 1, two: 2, three: 3 }

செஷன் ஸ்டோரேஜில் ஜாவாஸ்கிரிப்ட் பொருட்களை சேமித்தல் மற்றும் மீட்டெடுத்தல்

அமர்வு சேமிப்பகத்திற்கு JavaScript மற்றும் JSON ஐப் பயன்படுத்துதல்

// Create an object
var testObject = {'one': 1, 'two': 2, 'three': 3};

// Convert the object to a JSON string and store it in sessionStorage
sessionStorage.setItem('testObject', JSON.stringify(testObject));

// Retrieve the JSON string from sessionStorage and convert it back to an object
var retrievedObject = JSON.parse(sessionStorage.getItem('testObject'));

// Verify the type and value of the retrieved object
console.log('typeof retrievedObject: ' + typeof retrievedObject);
console.log('Value of retrievedObject: ', retrievedObject);

// Output should be:
// typeof retrievedObject: object
// Value of retrievedObject: { one: 1, two: 2, three: 3 }

இணைய சேமிப்பகத்திற்கான மேம்பட்ட நுட்பங்கள்

HTML5 ஐப் பயன்படுத்தும் போது localStorage மற்றும் sessionStorage, டெவலப்பர்கள் பெரும்பாலும் சரங்களை விட சிக்கலான தரவைச் சேமிக்க வேண்டும். JSON வரிசையாக்கம் மற்றும் டீரியலைசேஷன் ஆகியவை அடிப்படை பொருட்களுக்கு பயனுள்ளதாக இருக்கும் போது, ​​மேம்பட்ட காட்சிகளுக்கு கூடுதல் பரிசீலனைகள் தேவைப்படலாம். எடுத்துக்காட்டாக, நீங்கள் ஆழமாக உள்ளமைக்கப்பட்ட பொருள்கள் அல்லது வழிமுறைகளைக் கொண்ட பொருள்களுடன் பணிபுரிகிறீர்கள் என்றால், உங்களுக்கு மிகவும் நுட்பமான அணுகுமுறை தேவை. போன்ற ஒரு நூலகத்தைப் பயன்படுத்துவது ஒரு பொதுவான நுட்பமாகும் Flatted அல்லது circular-json வட்ட குறிப்புகள் மற்றும் மிகவும் சிக்கலான பொருள் கட்டமைப்புகளை கையாள.

இந்த நூலகங்கள் தரத்தை விரிவுபடுத்துகின்றன JSON.stringify() மற்றும் JSON.parse() வலைச் சேமிப்பகத்தில் பொருட்களைச் சேமிப்பதற்கான மிகவும் உறுதியான தீர்வைச் செயல்படுத்துவதன் மூலம், வட்டக் குறிப்புகளைக் கொண்ட பொருள்களின் வரிசைப்படுத்தல் மற்றும் சீரியலைசேஷன் ஆகியவற்றை ஆதரிக்கும் முறைகள். மற்றொரு கருத்தில் தரவு சுருக்கம் உள்ளது. பெரிய பொருள்களுக்கு, நீங்கள் போன்ற நூலகங்களைப் பயன்படுத்தலாம் LZ-String தரவைச் சேமிப்பதற்கு முன் அதைச் சுருக்கவும் localStorage அல்லது sessionStorage, பயன்படுத்தப்படும் இடத்தின் அளவைக் குறைத்தல். கிளையன்ட் தரவின் குறிப்பிடத்தக்க அளவு சேமிக்க வேண்டிய பயன்பாடுகளுக்கு இது மிகவும் பயனுள்ளதாக இருக்கும்.

வலை சேமிப்பகத்தில் பொருட்களை சேமிப்பது பற்றிய பொதுவான கேள்விகள்

  1. நான் செயல்பாடுகளை சேமிக்க முடியுமா? localStorage அல்லது sessionStorage?
  2. இல்லை, செயல்பாடுகளை இணைய சேமிப்பகத்தில் நேரடியாகச் சேமிக்க முடியாது. நீங்கள் செயல்பாட்டுக் குறியீட்டை ஒரு சரமாக சேமித்து பயன்படுத்தலாம் eval() அதை மீண்டும் உருவாக்க, ஆனால் பாதுகாப்பு அபாயங்கள் காரணமாக இது பொதுவாக பரிந்துரைக்கப்படுவதில்லை.
  3. பொருள்களில் வட்டக் குறிப்புகளை எவ்வாறு கையாள்வது?
  4. போன்ற நூலகங்களைப் பயன்படுத்துங்கள் Flatted அல்லது circular-json ஜாவாஸ்கிரிப்ட் பொருள்களில் வட்டக் குறிப்புகளைக் கையாள வடிவமைக்கப்பட்டுள்ளது.
  5. சேமிப்பக வரம்பு எதற்கு localStorage?
  6. சேமிப்பக வரம்பு localStorage இது பொதுவாக 5MB ஆகும், ஆனால் இது உலாவிகளுக்கு இடையே மாறுபடும்.
  7. தரவைச் சேமிப்பதற்கு முன் அதைச் சுருக்க முடியுமா?
  8. ஆம், போன்ற நூலகங்களைப் பயன்படுத்தலாம் LZ-String உங்கள் தரவைச் சேமிப்பதற்கு முன் அதைச் சுருக்கவும் localStorage அல்லது sessionStorage.
  9. பொருள்களின் வரிசையை எவ்வாறு சேமிப்பது?
  10. அணிவரிசையை JSON சரமாக மாற்றவும் JSON.stringify() அதை சேமிப்பதற்கு முன் localStorage அல்லது sessionStorage.
  11. முக்கியமான தரவை சேமிப்பது பாதுகாப்பானதா localStorage?
  12. இல்லை, முக்கியத் தரவைச் சேமிப்பது பாதுகாப்பானது அல்ல localStorage இது ஜாவாஸ்கிரிப்ட் மூலம் அணுகக்கூடியது மற்றும் தளம் தாக்கப்பட்டால் சமரசம் செய்யப்படலாம்.
  13. நான் பயன்படுத்தி கொள்ளலாமா localStorage வெவ்வேறு களங்களில்?
  14. இல்லை, localStorage ஒரே தோற்றத்திற்கு வரம்பிடப்பட்டுள்ளது, அதாவது வெவ்வேறு டொமைன்களில் இதை அணுக முடியாது.
  15. பயனர் தனது உலாவித் தரவை அழித்துவிட்டால் என்ன நடக்கும்?
  16. எல்லா தரவுகளும் சேமிக்கப்பட்டுள்ளன localStorage மற்றும் sessionStorage பயனர் தனது உலாவித் தரவை அழித்துவிட்டால் அகற்றப்படும்.

பொருள் சேமிப்பகத்தை நிர்வகிப்பதற்கான இறுதி எண்ணங்கள்

HTML5 இணைய சேமிப்பகத்தில் பொருட்களை திறம்பட சேமித்து மீட்டெடுக்க, பொருட்களை JSON சரங்களாக மாற்ற வேண்டும் JSON.stringify() பின்னர் அவற்றை மீண்டும் பாகுபடுத்துதல் JSON.parse(). வெவ்வேறு உலாவி அமர்வுகளில் தரவு அப்படியே இருப்பதையும் பயன்படுத்தக்கூடியதாக இருப்பதையும் இந்த முறை உறுதி செய்கிறது. இந்த நுட்பங்களைப் புரிந்துகொண்டு பயன்படுத்துவதன் மூலம், டெவலப்பர்கள் தங்கள் வலைப் பயன்பாடுகளின் செயல்பாடு மற்றும் செயல்திறனை மேம்படுத்தி, மிகவும் சிக்கலான தரவு மேலாண்மைப் பணிகளுக்கு லோக்கல் ஸ்டோரேஜ் மற்றும் செஷன் ஸ்டோரேஜைப் பயன்படுத்த முடியும்.