ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਕਵਿਜ਼ ਵਿੱਚ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਚੁਣੇ ਥੀਮ ਨੂੰ ਕਿਵੇਂ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਹੈ

Theme persistence

ਤੁਹਾਡੀ ਕਵਿਜ਼ ਥੀਮ ਰੀਸੈਟ ਕਿਉਂ ਹੁੰਦੀ ਹੈ (ਅਤੇ ਇਸਨੂੰ ਕਿਵੇਂ ਠੀਕ ਕਰਨਾ ਹੈ)

ਇੱਕ ਇੰਟਰਐਕਟਿਵ ਵੈੱਬ ਕਵਿਜ਼ ਬਣਾਉਂਦੇ ਸਮੇਂ, ਉਪਭੋਗਤਾ ਅਨੁਕੂਲਤਾ ਇੱਕ ਨਿੱਜੀ ਸੰਪਰਕ ਜੋੜਦੀ ਹੈ ਜੋ ਅਨੁਭਵ ਨੂੰ ਵਧਾਉਂਦੀ ਹੈ। ਤੁਹਾਡੀ ਹੈਰੀ ਪੋਟਰ-ਥੀਮ ਵਾਲੀ ਕਵਿਜ਼ ਵਿੱਚ, ਸਲੀਥਰਿਨ ਜਾਂ ਗ੍ਰੀਫਿੰਡਰ ਵਰਗੇ ਘਰੇਲੂ ਥੀਮਾਂ ਵਿੱਚ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਦੀ ਯੋਗਤਾ ਇੱਕ ਵਧੀਆ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ। ਹਾਲਾਂਕਿ, ਤੁਹਾਨੂੰ ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈ ਸਕਦਾ ਹੈ: ਹਰੇਕ ਸਵਾਲ ਤੋਂ ਬਾਅਦ ਥੀਮ ਰੀਸੈੱਟ ਹੋ ਜਾਂਦੀ ਹੈ, ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਨਿਰਾਸ਼ਾ ਵਿੱਚ ਛੱਡ ਕੇ।

ਇਹ ਸਮੱਸਿਆ ਇਸ ਲਈ ਵਾਪਰਦੀ ਹੈ ਕਿਉਂਕਿ ਮੌਜੂਦਾ ਥੀਮ ਪ੍ਰਸ਼ਨ ਲੋਡਾਂ ਵਿਚਕਾਰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ। ਉਪਭੋਗਤਾ ਦੀ ਚੋਣ ਨੂੰ ਯਾਦ ਰੱਖਣ ਦੇ ਤਰੀਕੇ ਦੇ ਬਿਨਾਂ, ਹਰ ਵਾਰ ਨਵਾਂ ਸਵਾਲ ਪ੍ਰਦਰਸ਼ਿਤ ਹੋਣ 'ਤੇ ਡਿਫੌਲਟ ਸੈਟਿੰਗਾਂ ਲਾਗੂ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਇਸ ਨੂੰ ਠੀਕ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ ਤਾਂ ਜੋ ਉਪਭੋਗਤਾ ਆਪਣੇ ਚੁਣੇ ਹੋਏ ਘਰ ਵਿੱਚ ਲੀਨ ਮਹਿਸੂਸ ਕਰਨ ਕਿਉਂਕਿ ਉਹ ਕਵਿਜ਼ ਵਿੱਚ ਅੱਗੇ ਵਧਦੇ ਹਨ।

ਖੁਸ਼ਕਿਸਮਤੀ ਨਾਲ, JavaScript ਬ੍ਰਾਊਜ਼ਰ ਸਟੋਰੇਜ ਵਿਧੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਉਪਭੋਗਤਾ ਦੇ ਚੁਣੇ ਹੋਏ ਥੀਮ ਨੂੰ ਸਟੋਰ ਕਰਨ ਦੇ ਤਰੀਕੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਜਾਂ ਸੈਸ਼ਨ ਵੇਰੀਏਬਲ। ਇਸ ਹੱਲ ਨੂੰ ਲਾਗੂ ਕਰਕੇ, ਤੁਸੀਂ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਥੀਮ ਇਕਸਾਰ ਰਹੇ ਕਿਉਂਕਿ ਉਪਭੋਗਤਾ ਕਵਿਜ਼ ਵਿੱਚੋਂ ਲੰਘਦੇ ਹਨ। ਇਸ ਤਰ੍ਹਾਂ, ਵਿਅਕਤੀਗਤ ਅਨੁਭਵ ਨਿਰਵਿਘਨ ਰਹਿੰਦਾ ਹੈ.

ਇਸ ਗਾਈਡ ਵਿੱਚ, ਅਸੀਂ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਚੁਣੇ ਗਏ ਥੀਮ ਨੂੰ ਕਿਵੇਂ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਹੈ ਬਾਰੇ ਦੱਸਾਂਗੇ। ਅੰਤ ਤੱਕ, ਤੁਹਾਡੀ ਕਵਿਜ਼ ਪੂਰੇ ਸੈਸ਼ਨ ਦੌਰਾਨ ਉਪਭੋਗਤਾ ਦੀ ਪਸੰਦ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖੇਗੀ, ਉਹਨਾਂ ਨੂੰ ਇੱਕ ਸਹਿਜ ਅਨੁਭਵ ਪ੍ਰਦਾਨ ਕਰੇਗੀ। ਆਓ ਹੱਲ ਵਿੱਚ ਡੁਬਕੀ ਕਰੀਏ!

ਹੁਕਮ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ
localStorage.setItem() ਇਹ ਕਮਾਂਡ ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਸਥਾਨਕ ਸਟੋਰੇਜ ਵਿੱਚ ਇੱਕ ਕੁੰਜੀ-ਮੁੱਲ ਜੋੜਾ ਸਟੋਰ ਕਰਦੀ ਹੈ। ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ ਇੱਕ ਪੰਨੇ ਦੇ ਰੀਲੋਡ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵੀ, ਸਥਾਈ ਤੌਰ 'ਤੇ ਚੁਣੇ ਗਏ ਥੀਮ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
localStorage.getItem() ਸਥਾਨਕ ਸਟੋਰੇਜ਼ ਤੋਂ ਇੱਕ ਖਾਸ ਕੁੰਜੀ ਦਾ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਪੰਨੇ ਨੂੰ ਰੀਲੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਸੁਰੱਖਿਅਤ ਕੀਤੀ ਥੀਮ ਨੂੰ ਲੋਡ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਉਪਭੋਗਤਾ ਦੀ ਚੋਣ ਇਕਸਾਰ ਰਹੇ।
sessionStorage.setItem() ਇਹ ਕਮਾਂਡ ਸ਼ੈਸ਼ਨ ਸਟੋਰੇਜ਼ ਵਿੱਚ ਇੱਕ ਕੁੰਜੀ-ਮੁੱਲ ਜੋੜਾ ਸਟੋਰ ਕਰਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਚੁਣੀ ਗਈ ਥੀਮ ਸਿਰਫ਼ ਉਪਭੋਗਤਾ ਦੇ ਸੈਸ਼ਨ ਦੌਰਾਨ ਬਣਾਈ ਰੱਖੀ ਜਾਂਦੀ ਹੈ, ਬ੍ਰਾਊਜ਼ਰ ਦੇ ਬੰਦ ਹੋਣ ਤੋਂ ਬਾਅਦ ਰੀਸੈਟ ਕਰਨਾ।
sessionStorage.getItem() ਸੈਸ਼ਨ ਸਟੋਰੇਜ ਤੋਂ ਮੁੱਲ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਇਹ ਉਪਭੋਗਤਾ ਦੀ ਥੀਮ ਨੂੰ ਇੱਕ ਅਸਥਾਈ ਥੀਮ ਸਟੋਰੇਜ ਹੱਲ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦੇ ਹੋਏ, ਸਥਾਨਕ ਸਟੋਰੇਜ ਦੀ ਵਰਤੋਂ ਕੀਤੇ ਬਿਨਾਂ ਪੂਰੇ ਸੈਸ਼ਨ ਵਿੱਚ ਬਣੇ ਰਹਿਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
URLSearchParams.get() ਇਹ ਕਮਾਂਡ URL ਤੋਂ ਇੱਕ ਖਾਸ ਪੈਰਾਮੀਟਰ ਕੱਢਦੀ ਹੈ। ਇਹ ਸਕ੍ਰਿਪਟ ਵਿੱਚ URL ਤੋਂ ਥੀਮ ਪੈਰਾਮੀਟਰ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਪ੍ਰਦਾਨ ਕੀਤੇ ਲਿੰਕ ਦੇ ਆਧਾਰ 'ਤੇ ਥੀਮ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ।
window.history.replaceState() ਪੰਨੇ ਨੂੰ ਤਾਜ਼ਾ ਕੀਤੇ ਬਿਨਾਂ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ URL ਨੂੰ ਅੱਪਡੇਟ ਕਰਦਾ ਹੈ। ਇਹ ਕਮਾਂਡ ਥੀਮ ਨੂੰ URL ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਜੋੜਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਜਦੋਂ ਉਪਭੋਗਤਾ ਇੱਕ ਘਰ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ URL ਮੌਜੂਦਾ ਥੀਮ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
window.onload ਇਹ ਇਵੈਂਟ ਉਦੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਪੂਰਾ ਪੰਨਾ (HTML, ਚਿੱਤਰ, ਆਦਿ) ਲੋਡ ਹੋ ਜਾਂਦਾ ਹੈ। ਸਕ੍ਰਿਪਟ ਵਿੱਚ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਜਿਵੇਂ ਹੀ ਪੰਨਾ ਸਟੋਰ ਕੀਤੇ ਡੇਟਾ ਜਾਂ URL ਪੈਰਾਮੀਟਰਾਂ ਦੇ ਅਧਾਰ ਤੇ ਲੋਡ ਕਰਨਾ ਪੂਰਾ ਕਰਦਾ ਹੈ ਤਾਂ ਥੀਮ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
document.querySelectorAll() ਕਿਸੇ ਖਾਸ CSS ਚੋਣਕਾਰ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਸਾਰੇ ਤੱਤ ਚੁਣਦਾ ਹੈ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ ਉਹਨਾਂ ਤੱਤਾਂ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਚੁਣੇ ਗਏ ਥੀਮ ਨੂੰ ਲਾਗੂ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਪੰਨੇ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਨੂੰ ਇਕਸਾਰ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ।
classList.add() ਕਿਸੇ ਤੱਤ ਦੀ ਕਲਾਸ ਸੂਚੀ ਵਿੱਚ ਇੱਕ ਖਾਸ ਕਲਾਸ ਜੋੜਦਾ ਹੈ। ਇਸ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਚੁਣੇ ਹੋਏ ਹਾਊਸ ਥੀਮ ਨੂੰ ਅਨੁਕੂਲਿਤ ਤੱਤਾਂ 'ਤੇ ਲਾਗੂ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਪੰਨੇ 'ਤੇ ਵਿਜ਼ੂਅਲ ਤਬਦੀਲੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ।

ਇੱਕ ਡਾਇਨਾਮਿਕ ਕਵਿਜ਼ ਵਿੱਚ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਚੁਣੇ ਥੀਮ ਨੂੰ ਕਿਵੇਂ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਹੈ

ਉੱਪਰ ਦਿੱਤੀਆਂ ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਇੱਕ ਕਵਿਜ਼ ਵਿੱਚ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਚੁਣੇ ਗਏ ਥੀਮ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣ ਦੇ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਇੰਟਰਐਕਟਿਵ ਕਵਿਜ਼ਾਂ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਜਿਵੇਂ ਕਿ ਹੈਰੀ ਪੋਟਰ ਬ੍ਰਹਿਮੰਡ ਦੇ ਆਲੇ ਦੁਆਲੇ ਇੱਕ ਥੀਮ ਹੈ, ਜਿੱਥੇ ਉਪਭੋਗਤਾ ਘਰੇਲੂ ਥੀਮਾਂ ਜਿਵੇਂ ਕਿ ਸਲੀਥਰਿਨ, ਗ੍ਰੀਫਿੰਡਰ, ਜਾਂ ਹਫਲਪਫ ਵਿਚਕਾਰ ਬਦਲ ਸਕਦੇ ਹਨ। ਸਹੀ ਹੈਂਡਲਿੰਗ ਦੇ ਬਿਨਾਂ, ਚੁਣੀ ਗਈ ਥੀਮ ਹਰ ਵਾਰ ਜਦੋਂ ਉਪਭੋਗਤਾ ਕਿਸੇ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ ਅਤੇ ਅਗਲਾ ਪ੍ਰਦਰਸ਼ਿਤ ਹੁੰਦਾ ਹੈ ਤਾਂ ਰੀਸੈਟ ਹੁੰਦਾ ਹੈ। ਇਹਨਾਂ ਸਕ੍ਰਿਪਟਾਂ ਦਾ ਮੁੱਖ ਟੀਚਾ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਕਿ ਇੱਕ ਵਾਰ ਉਪਭੋਗਤਾ ਇੱਕ ਥੀਮ ਚੁਣਦਾ ਹੈ, ਇਹ ਕਵਿਜ਼ ਵਿੱਚ ਲਗਾਤਾਰ ਲਾਗੂ ਹੁੰਦਾ ਹੈ।

ਇੱਕ ਹੱਲ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸ਼ਾਮਲ ਹੈ ਜਾਂ , ਜੋ ਕਿ ਦੋਵੇਂ ਆਧੁਨਿਕ ਬ੍ਰਾਊਜ਼ਰਾਂ ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੇ ਗਏ ਸਟੋਰੇਜ ਵਿਧੀ ਹਨ। ਲੋਕਲ ਸਟੋਰੇਜ ਤੁਹਾਨੂੰ ਚੁਣੀ ਗਈ ਥੀਮ ਨੂੰ ਸਥਾਈ ਤੌਰ 'ਤੇ ਸਟੋਰ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਭਾਵ ਇਹ ਅਜੇ ਵੀ ਉਪਲਬਧ ਰਹੇਗਾ ਭਾਵੇਂ ਪੰਨਾ ਰਿਫ੍ਰੈਸ਼ ਹੋਵੇ ਜਾਂ ਬ੍ਰਾਊਜ਼ਰ ਬੰਦ ਹੋਵੇ। ਥੀਮ ਨੂੰ ਲੋਕਲ ਸਟੋਰੇਜ ਵਿੱਚ ਸੈੱਟ ਕਰਕੇ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਵੀ ਉਪਭੋਗਤਾ ਘਰ ਦੀ ਚੋਣ ਕਰਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਪੰਨਾ ਦੁਬਾਰਾ ਲੋਡ ਹੋਣ 'ਤੇ ਉਸ ਰੱਖਿਅਤ ਥੀਮ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। ਦੂਜੇ ਪਾਸੇ, SessionStorage, ਇਸੇ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦਾ ਹੈ ਪਰ ਮੌਜੂਦਾ ਸੈਸ਼ਨ ਦੀ ਮਿਆਦ ਲਈ ਸਿਰਫ਼ ਡਾਟਾ ਬਚਾਉਂਦਾ ਹੈ। ਇੱਕ ਵਾਰ ਸੈਸ਼ਨ ਖਤਮ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਡੇਟਾ ਗੁੰਮ ਹੋ ਜਾਂਦਾ ਹੈ, ਇਸ ਨੂੰ ਹੋਰ ਅਸਥਾਈ ਬਣਾਉਂਦਾ ਹੈ।

ਇੱਕ ਹੋਰ ਢੰਗ ਵਿੱਚ ਹੇਰਾਫੇਰੀ ਸ਼ਾਮਲ ਹੈ . ਇਹ ਹੱਲ ਉਦੋਂ ਮਦਦਗਾਰ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਥੀਮ URL ਵਿੱਚ ਪ੍ਰਤੀਬਿੰਬਤ ਹੋਵੇ, ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਉਹਨਾਂ ਲਿੰਕਾਂ ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ ਜੋ ਚੁਣੇ ਗਏ ਥੀਮ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦੇ ਹਨ। ਇਹ ਵਿਧੀ URL ਵਿੱਚ ਇੱਕ ਪੈਰਾਮੀਟਰ ਦੇ ਰੂਪ ਵਿੱਚ ਚੁਣੇ ਗਏ ਥੀਮ ਨੂੰ ਜੋੜਨ ਲਈ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਅਤੇ ਪੰਨਾ ਲੋਡ ਹੋਣ 'ਤੇ ਇਸਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ। ਮੌਜੂਦਾ ਥੀਮ ਦੇ ਨਾਲ ਬ੍ਰਾਊਜ਼ਰ ਦੇ URL ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਕੇ, ਇਹ ਪਹੁੰਚ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਉਪਭੋਗਤਾ ਜਦੋਂ ਵੀ ਉਸ ਲਿੰਕ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਵਿਜ਼ ਵਿੱਚ ਵਾਪਸ ਆਉਂਦੇ ਹਨ ਤਾਂ ਇੱਕ ਖਾਸ ਥੀਮ ਨੂੰ ਸਿੱਧਾ ਲੋਡ ਕਰ ਸਕਦਾ ਹੈ। ਇਹ ਸ਼ੇਅਰ ਕਰਨ ਯੋਗ ਲਿੰਕ ਬਣਾਉਣ ਲਈ ਵੀ ਮਦਦਗਾਰ ਹੋ ਸਕਦਾ ਹੈ ਜੋ ਥੀਮ ਦੀ ਜਾਣਕਾਰੀ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦੇ ਹਨ।

ਇਹਨਾਂ ਵਿੱਚੋਂ ਹਰੇਕ ਵਿਧੀ, ਭਾਵੇਂ ਇਹ ਲੋਕਲ ਸਟੋਰੇਜ, ਸੈਸ਼ਨ ਸਟੋਰੇਜ, ਜਾਂ URL ਪੈਰਾਮੀਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੀ ਹੈ, ਉਪਭੋਗਤਾ ਸੈਟਿੰਗਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਦੀ ਮੁੱਖ ਚੁਣੌਤੀ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਦੀ ਹੈ। ਇਹ ਕਵਿਜ਼ ਦੇ ਨਾਲ ਗੱਲਬਾਤ ਦੌਰਾਨ ਲੋੜੀਂਦੇ ਅਨੁਕੂਲਤਾ ਨੂੰ ਕਾਇਮ ਰੱਖ ਕੇ ਸਮੁੱਚੇ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ। ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਮਾਡਯੂਲਰ ਫੰਕਸ਼ਨ ਵੀ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ ਜਿਵੇਂ ਕਿ ਅਤੇ , ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਕਿ ਕੋਡ ਸੰਗਠਿਤ, ਮੁੜ ਵਰਤੋਂ ਯੋਗ, ਅਤੇ ਸੰਭਾਲਣ ਲਈ ਆਸਾਨ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ ਪੰਨੇ ਦੀ ਦਿੱਖ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ CSS ਕਲਾਸਾਂ ਨੂੰ ਹਟਾਉਣ ਅਤੇ ਜੋੜਨ ਨੂੰ ਸੰਭਾਲਦੇ ਹਨ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋਏ ਕਿ ਚੁਣੀ ਗਈ ਥੀਮ ਹਰ ਵਾਰ ਸਹੀ ਢੰਗ ਨਾਲ ਲਾਗੂ ਕੀਤੀ ਗਈ ਹੈ।

ਹੱਲ 1: ਉਪਭੋਗਤਾ ਥੀਮ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਲੋਕਲ ਸਟੋਰੇਜ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਇਹ ਹੱਲ ਕਵਿਜ਼ ਸਵਾਲਾਂ ਦੇ ਵਿਚਕਾਰ ਉਪਭੋਗਤਾ ਦੇ ਚੁਣੇ ਗਏ ਥੀਮ ਨੂੰ ਸਟੋਰ ਕਰਨ ਅਤੇ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ JavaScript ਅਤੇ localStorage ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਇਹ ਪੰਨਾ ਰੀਲੋਡ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵੀ ਜਾਰੀ ਰਹਿੰਦਾ ਹੈ।

// Function to save the theme to localStorage
function saveTheme(theme) {
  localStorage.setItem('selectedTheme', theme);
}

// Function to apply the saved theme
function applyTheme() {
  const savedTheme = localStorage.getItem('selectedTheme');
  if (savedTheme) {
    document.querySelectorAll('.customizable').forEach(element => {
      element.classList.add(savedTheme);
    });
  }
}

// Function to handle theme change
function popUp() {
  document.querySelector('#Serpentard').addEventListener('click', () => {
    resetTheme();
    applyClass('Serpentard');
    saveTheme('Serpentard');
  });

  // Similar logic for other house buttons
}

// Call the applyTheme function on page load
window.onload = applyTheme;

ਹੱਲ 2: ਉਪਭੋਗਤਾ ਥੀਮ ਨੂੰ ਅਸਥਾਈ ਤੌਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਕਰਨ ਲਈ ਸੈਸ਼ਨ ਸਟੋਰੇਜ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਇਹ ਪਹੁੰਚ ਇੱਕ ਸਿੰਗਲ ਸੈਸ਼ਨ ਦੌਰਾਨ ਥੀਮ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਸੈਸ਼ਨ ਸਟੋਰੇਜ ਦਾ ਲਾਭ ਲੈਂਦੀ ਹੈ। ਇੱਕ ਵਾਰ ਬ੍ਰਾਊਜ਼ਰ ਬੰਦ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਥੀਮ ਰੀਸੈਟ ਹੋ ਜਾਵੇਗਾ।

// Function to save the theme to sessionStorage
function saveThemeSession(theme) {
  sessionStorage.setItem('selectedTheme', theme);
}

// Function to apply the saved theme
function applyThemeSession() {
  const savedTheme = sessionStorage.getItem('selectedTheme');
  if (savedTheme) {
    document.querySelectorAll('.customizable').forEach(element => {
      element.classList.add(savedTheme);
    });
  }
}

// Function to handle theme change
function popUp() {
  document.querySelector('#Serpentard').addEventListener('click', () => {
    resetTheme();
    applyClass('Serpentard');
    saveThemeSession('Serpentard');
  });

  // Similar logic for other house buttons
}

// Call the applyTheme function on page load
window.onload = applyThemeSession;

ਹੱਲ 3: ਥੀਮ ਨੂੰ ਪਾਸ ਕਰਨ ਲਈ URL ਪੈਰਾਮੀਟਰ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਇਸ ਪਹੁੰਚ ਵਿੱਚ, ਥੀਮ ਨੂੰ ਇੱਕ URL ਪੈਰਾਮੀਟਰ ਵਜੋਂ ਪਾਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ. ਇਹ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਤੋਂ ਚੁਣੀ ਗਈ ਥੀਮ ਨਾਲ ਕਵਿਜ਼ ਨਾਲ ਸਿੱਧਾ ਲਿੰਕ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।

// Function to get URL parameter
function getParameterByName(name) {
  const url = new URL(window.location.href);
  return url.searchParams.get(name);
}

// Function to apply theme from URL
function applyThemeFromURL() {
  const theme = getParameterByName('theme');
  if (theme) {
    document.querySelectorAll('.customizable').forEach(element => {
      element.classList.add(theme);
    });
  }
}

// Event listener to append theme to URL when selected
function popUp() {
  document.querySelector('#Serpentard').addEventListener('click', () => {
    resetTheme();
    applyClass('Serpentard');
    window.history.replaceState({}, '', '?theme=Serpentard');
  });

  // Similar logic for other house buttons
}

// Apply theme based on URL parameter
window.onload = applyThemeFromURL;

JavaScript-ਅਧਾਰਿਤ ਵੈੱਬ ਕਵਿਜ਼ਾਂ ਵਿੱਚ ਥੀਮ ਦੀ ਸਥਿਰਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ

ਗਤੀਸ਼ੀਲ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਇੱਕ ਸਹਿਜ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਬਣਾਉਣ ਦਾ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਕਵਿਜ਼, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਕਿ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਚੁਣੀਆਂ ਗਈਆਂ ਸੈਟਿੰਗਾਂ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਥੀਮ, ਪੰਨੇ ਦੇ ਤਾਜ਼ਗੀ ਜਾਂ ਤਬਦੀਲੀਆਂ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਹਨ। ਤੁਹਾਡੀ ਹੈਰੀ ਪੋਟਰ-ਥੀਮ ਵਾਲੀ ਕਵਿਜ਼ ਦੇ ਸੰਦਰਭ ਵਿੱਚ, ਇਸਦਾ ਮਤਲਬ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਕਿ ਚੁਣੇ ਹੋਏ ਘਰ (ਉਦਾਹਰਨ ਲਈ, ਸਲੀਥਰਿਨ ਜਾਂ ਗ੍ਰੀਫਿੰਡਰ) ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਿਆ ਗਿਆ ਹੈ ਕਿਉਂਕਿ ਉਪਭੋਗਤਾ ਕਵਿਜ਼ ਵਿੱਚੋਂ ਲੰਘਦੇ ਹਨ। ਇਹ ਮੁੱਦਾ ਪੈਦਾ ਹੋ ਸਕਦਾ ਹੈ ਕਿਉਂਕਿ JavaScript ਫੰਕਸ਼ਨ, ਜਦੋਂ ਤੱਕ ਖਾਸ ਤੌਰ 'ਤੇ ਪ੍ਰੋਗਰਾਮ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ, ਇੱਕ ਵਾਰ ਪੰਨੇ ਦੇ ਮੁੜ ਲੋਡ ਹੋਣ ਜਾਂ ਕਿਸੇ ਹੋਰ ਭਾਗ ਵਿੱਚ ਚਲੇ ਜਾਣ 'ਤੇ ਸਥਿਤੀ ਨੂੰ ਬਰਕਰਾਰ ਨਹੀਂ ਰੱਖਦੇ।

ਇਸ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨ ਦਾ ਇੱਕ ਵਾਧੂ ਤਰੀਕਾ ਚੁਣੇ ਗਏ ਥੀਮ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਕੂਕੀਜ਼ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ। ਕੂਕੀਜ਼, ਜਿਵੇਂ , ਉਪਭੋਗਤਾ ਦੇ ਬ੍ਰਾਉਜ਼ਰ ਵਿੱਚ ਡੇਟਾ ਸਟੋਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ, ਪਰ ਉਹ ਮਿਆਦ ਪੁੱਗਣ ਦੇ ਸਮੇਂ ਦੇ ਰੂਪ ਵਿੱਚ ਵਧੇਰੇ ਲਚਕਤਾ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦੇ ਹਨ ਅਤੇ ਹਰ ਬੇਨਤੀ ਦੇ ਨਾਲ ਸਰਵਰ ਨੂੰ ਭੇਜੇ ਜਾਂਦੇ ਹਨ। ਇੱਕ ਕਵਿਜ਼ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਜਿੱਥੇ ਉਪਭੋਗਤਾ ਤਰਜੀਹਾਂ ਜਿਵੇਂ ਕਿ ਥੀਮ ਮਹੱਤਵਪੂਰਨ ਹਨ, ਇਹਨਾਂ ਤਰਜੀਹਾਂ ਨੂੰ ਕੂਕੀਜ਼ ਵਿੱਚ ਸਟੋਰ ਕਰਨਾ ਨਿਰੰਤਰਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾ ਸਕਦਾ ਹੈ ਭਾਵੇਂ ਉਪਭੋਗਤਾ ਬਾਅਦ ਵਿੱਚ ਵਾਪਸ ਆ ਜਾਵੇ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਲੰਬੇ ਸਮੇਂ ਦੇ ਸੈਸ਼ਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

ਵਿਚਾਰ ਕਰਨ ਦਾ ਇੱਕ ਹੋਰ ਤਰੀਕਾ ਆਧੁਨਿਕ ਫਰੰਟ-ਐਂਡ ਫਰੇਮਵਰਕ ਜਿਵੇਂ ਕਿ React ਜਾਂ Vue.js ਦਾ ਲਾਭ ਉਠਾਉਣਾ ਹੈ। ਇਹ ਫਰੇਮਵਰਕ ਬਿਲਟ-ਇਨ ਸਟੇਟ ਮੈਨੇਜਮੈਂਟ ਟੂਲ ਪੇਸ਼ ਕਰਦੇ ਹਨ ਜੋ ਚੁਣੇ ਗਏ ਥੀਮ ਸਮੇਤ ਕਵਿਜ਼ ਦੀ ਸਥਿਤੀ ਨੂੰ ਸਟੋਰ ਅਤੇ ਬਰਕਰਾਰ ਰੱਖ ਸਕਦੇ ਹਨ। ਇਹਨਾਂ ਫਰੇਮਵਰਕ ਦੇ ਕੰਪੋਨੈਂਟ ਆਰਕੀਟੈਕਚਰ ਦੇ ਅੰਦਰ ਸਥਿਤੀ ਨੂੰ ਸੰਭਾਲਣ ਦੁਆਰਾ, ਤੁਸੀਂ ਇਹ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹੋ ਕਿ ਉਪਭੋਗਤਾ ਚੋਣ ਨੂੰ ਵਿਆਪਕ ਕਸਟਮ ਤਰਕ ਲਿਖਣ ਤੋਂ ਬਿਨਾਂ ਬਣਾਈ ਰੱਖਿਆ ਗਿਆ ਹੈ। ਕਵਿਜ਼ ਨੂੰ ਜਵਾਬਦੇਹ ਅਤੇ ਉਪਭੋਗਤਾਵਾਂ ਲਈ ਰੁਝੇਵੇਂ ਰੱਖਣ ਲਈ ਰਾਜ ਦੀ ਨਿਰੰਤਰਤਾ ਕੁੰਜੀ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਉਹਨਾਂ ਦੀਆਂ ਤਰਜੀਹਾਂ ਦਾ ਆਦਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

  1. ਮੈਂ ਚੁਣੇ ਹੋਏ ਥੀਮ ਨੂੰ ਪੇਜ ਰੀਲੋਡਸ ਵਿੱਚ ਕਿਵੇਂ ਸਟੋਰ ਕਰ ਸਕਦਾ ਹਾਂ?
  2. ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ ਅਤੇ ਉਪਭੋਗਤਾ ਦੇ ਚੁਣੇ ਹੋਏ ਥੀਮ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨ ਅਤੇ ਪੰਨਾ ਰੀਲੋਡ ਹੋਣ 'ਤੇ ਇਸਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ।
  3. ਲੋਕਲ ਸਟੋਰੇਜ ਅਤੇ ਸੈਸ਼ਨ ਸਟੋਰੇਜ ਵਿੱਚ ਕੀ ਅੰਤਰ ਹੈ?
  4. ਜਦੋਂ ਤੱਕ ਹੱਥੀਂ ਕਲੀਅਰ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ, ਉਦੋਂ ਤੱਕ ਡਾਟਾ ਸਥਾਈ ਤੌਰ 'ਤੇ ਸਟੋਰ ਕਰਦਾ ਹੈ ਸਿਰਫ਼ ਬ੍ਰਾਊਜ਼ਰ ਸੈਸ਼ਨ ਦੀ ਮਿਆਦ ਲਈ ਡਾਟਾ ਰੱਖਦਾ ਹੈ।
  5. ਮੈਂ URL ਵਿੱਚ ਚੁਣੇ ਹੋਏ ਥੀਮ ਨੂੰ ਕਿਵੇਂ ਪਾਸ ਕਰ ਸਕਦਾ ਹਾਂ?
  6. ਵਰਤੋ ਥੀਮ ਨੂੰ URL ਪੈਰਾਮੀਟਰ ਦੇ ਤੌਰ 'ਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਸੈੱਟ ਕਰਨ ਲਈ, ਜਿਸ ਨਾਲ ਥੀਮ ਨੂੰ ਲਿੰਕਾਂ ਰਾਹੀਂ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
  7. ਥੀਮਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਕੂਕੀਜ਼ ਲੋਕਲ ਸਟੋਰੇਜ ਨਾਲ ਕਿਵੇਂ ਤੁਲਨਾ ਕਰਦੀਆਂ ਹਨ?
  8. ਮਿਆਦ ਪੁੱਗਣ 'ਤੇ ਵਧੇਰੇ ਨਿਯੰਤਰਣ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ ਅਤੇ ਸਰਵਰ ਬੇਨਤੀਆਂ ਦੇ ਨਾਲ ਭੇਜਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਉਲਟ , ਜੋ ਕਿ ਸਖਤੀ ਨਾਲ ਕਲਾਇੰਟ-ਸਾਈਡ ਹੈ।
  9. ਜਦੋਂ ਪੰਨਾ ਲੋਡ ਹੁੰਦਾ ਹੈ ਤਾਂ ਮੈਂ ਸੁਰੱਖਿਅਤ ਕੀਤੀ ਥੀਮ ਨੂੰ ਕਿਵੇਂ ਲਾਗੂ ਕਰਾਂ?
  10. ਦੀ ਵਰਤੋਂ ਕਰੋ ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਕਿ ਕੀ ਕੋਈ ਥੀਮ ਸਟੋਰ ਕੀਤੀ ਗਈ ਹੈ ਅਤੇ ਪੰਨਾ ਲੋਡ ਹੋਣ 'ਤੇ ਇਸਨੂੰ ਆਪਣੇ ਆਪ ਲਾਗੂ ਕਰੋ।

ਇੱਕ ਵਿਅਕਤੀਗਤ ਅਨੁਭਵ ਲਈ ਇੱਕ ਗਤੀਸ਼ੀਲ ਕਵਿਜ਼ ਵਿੱਚ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਚੁਣੇ ਗਏ ਥੀਮਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਮੁੱਖ ਸਮੱਸਿਆ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਕਿ ਚੁਣਿਆ ਗਿਆ ਥੀਮ ਹਰੇਕ ਪ੍ਰਸ਼ਨ ਤੋਂ ਬਾਅਦ ਰੀਸੈਟ ਨਹੀਂ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਇਹ ਵੱਖ-ਵੱਖ ਸਟੋਰੇਜ ਹੱਲਾਂ ਨੂੰ ਲਾਗੂ ਕਰਕੇ ਹੱਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਫੰਕਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਜਿਵੇਂ ਕਿ , URL ਪੈਰਾਮੀਟਰ, ਅਤੇ ਸੈਸ਼ਨ ਵੇਰੀਏਬਲ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹਨ ਕਿ ਕਵਿਜ਼ ਚੁਣੇ ਹੋਏ ਥੀਮ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਕਾਇਮ ਰੱਖਦੀ ਹੈ। ਇਹਨਾਂ ਫਿਕਸਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਇੱਕ ਨਿਰਵਿਘਨ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਇਮਰਸਿਵ, ਘਰੇਲੂ-ਥੀਮ ਵਾਲੀ ਹੈਰੀ ਪੋਟਰ ਕਵਿਜ਼ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ।

  1. ਦੱਸਦਾ ਹੈ ਕਿ ਲੋਕਲ ਸਟੋਰੇਜ ਅਤੇ ਸੈਸ਼ਨ ਸਟੋਰੇਜ ਸਮੇਤ ਉਪਭੋਗਤਾ ਤਰਜੀਹਾਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਅਤੇ ਜਾਰੀ ਰੱਖਣ ਲਈ JavaScript ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰਨੀ ਹੈ। MDN ਵੈੱਬ ਡੌਕਸ - ਲੋਕਲ ਸਟੋਰੇਜ
  2. ਕਲਾਸਾਂ ਨੂੰ ਜੋੜਨਾ ਅਤੇ ਹਟਾਉਣਾ ਸਮੇਤ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ DOM ਨੂੰ ਹੇਰਾਫੇਰੀ ਕਰਨ ਦੇ ਤਰੀਕਿਆਂ ਦਾ ਵੇਰਵਾ ਦਿੰਦਾ ਹੈ। MDN ਵੈੱਬ ਡੌਕਸ - ਕਲਾਸਲਿਸਟ
  3. JavaScript-ਅਧਾਰਿਤ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਰਾਜ ਪ੍ਰਬੰਧਨ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਇੱਕ ਵਿਆਪਕ ਗਾਈਡ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। JavaScript.info - ਲੋਕਲ ਸਟੋਰੇਜ