জাভাস্ক্রিপ্ট জেকুয়েরি এঙ্গুলার জেএস এইচটিএমএল সিএসএস বুটস্ট্রাপ পিএইচপি সি প্রোগ্রামিং
লগইন
×

জেএস টিউটোরিয়াল

হোম-HOME পরিচিতি-Introduction ব্যবহার-Uses গঠনপ্রণালী-Syntax আউটপুট-Output তথ্যের ধরণ-Data Type চলক-Variable স্টেটমেন্ট-Statement মন্তব্য-Comment অপারেটর-Operator গণিত-Arithmetic এসাইনমেন্ট-Assignment ফাংশন-Function অবজেক্ট-Object স্কোপ-Scope ইভেন্ট-Event ধরণ পরিবর্তন-Type Conversion রেগুলার এক্সপ্রেশন-RegExp ভুল-Error জেসন-JSON হয়েস্টিং-Hoisting

কন্ট্রোল স্টেটমেন্ট

বুলিয়ান-Boolean তুলনা-Comparison শর্তাবলী-Condition সুইচ-Switch ফর লুপ- For Loop হোয়াইল লুপ-While Loop ব্রেক-Break এবং কন্টিনিউ-continue

স্ট্রিং এবং অ্যারে

স্ট্রিং-String স্ট্রিং পদ্ধতি-String Method অ্যারে-Array অ্যারে পদ্ধতি -Array Method অ্যারে সর্ট-ArraySort

সংখ্যা, গণিত ও তারিখ

সংখ্যা-Number সংখ্যা পদ্ধতি-Number Method গণিত-Math তারিখ-Date তারিখ বিন্যাস-Date Format তারিখ পদ্ধতি-Date Method

জেএস ফাংশন-Function

ফাংশনের সংজ্ঞা-Definition ফাংশন প্যারামিটার-Parameter ফাংশনকে ডাকা-Invocation ফাংশন ক্লোজার-Closure

জেএস অবজেক্ট-Object

অবজেক্টের সংজ্ঞা-Definition অবজেক্ট প্রোপার্টি-Property অবজেক্ট মেথড-Method অবজেক্ট প্রোটোটাইপ-Prototype

জেএস ফর্ম-Form

ফর্ম বৈধকরণ-Validation ফর্ম এপিআই-API

জেএস এইচটিএমএল ডোম-DOM

ডোম(DOM) পরিচিতি ডোম মেথড-Method ডোম ডকুমেন্ট-Document ডোম এলিমেন্ট -Element ডোম এইচটিএমএল-HTML ডোম সিএসএস-CSS ডোম অ্যানিমেশন-Animation ডোম ঘটনা-Event ডোম ইভেন্টলিসেনার-EventListener ডোম নেভিগেশন-Navigation ডোম নোড-Node ডোম নোডতালিকা-Nodelist

জেএস ব্রাউজার বোম-BOM

উইন্ডো-Window স্ক্রিন-Screen লোকেশন-Location হিস্টোরি-History নেভিগেটর-Navigator পপআপ এলার্ট-Popup Alert টাইমিং-Timing কুকি-Cookie

জেএস রেফারেন্স

জাভাস্ক্রিপ্ট অবজেক্ট এইচটিএমএল ডোম অবজেক্ট অপারেটর-Operator স্টেটমেন্ট-Statement অ্যারে-Array বুলিয়ান-Boolean স্ট্রিং-String সংখ্যা-Number রেগুলার এক্সপ্রেশন-RegExp গণিত-Math তারিখ-Date কনভার্শন-Conversion


 

জাভাস্ক্রিপ্ট কুকি


কুকি আপনাকে ব্যবহারকারীর তথ্য ওয়েব পেজে সংরক্ষন করার সুযোগ দেয়।


কুকি কী?

কুকি হলো আপনার কম্পিউটারে একটি ছোট টেক্সট ফাইল হিসেবে সংরক্ষিত ডাটা।

যখন ওয়েব সার্ভার ব্রাউজারে একটি ওয়েব পেজ পাঠায় এবং সার্ভার ব্যবহারকারী সম্পর্কে সকল তথ্য ভুলে যায় কারণ সার্ভার এবং ব্রাউজারের সাথে তখন কোন সম্পর্ক থাকে না।

"কিভাবে ব্যবহারকারীর সম্পর্কে তথ্য সংরক্ষন করা যায়" এই সমস্যা সমাধান করার জন্যই কুকি উদ্ভাবিত হয়েছেঃ

কুকিগুলো জোড়ায় জোড়ায়(name-value) সংরক্ষণ হয়ঃ

username = Azizur Rahman

ব্রাউজার থেকে সার্ভারে যখন কোন পেজের জন্য রিকুয়েস্ট পাঠানো হয়, পেজের কুকিগুলোও এই রিকুয়েস্টের সাথে পাঠানো হয়। এই ভাবেই সার্ভার ব্যবহারকারীর সম্পর্কে তথ্য মনে রাখতে পারে।


জাভাস্ক্রিপ্টের মাধ্যমে কুকি তৈরি

document.cookie প্রোপার্টির মাধ্যমে জাভাস্ক্রিপ্ট কুকি তৈরি করতে পারে, পড়তে পারে এবং ডিলেট করতে পারে।

জাভাস্ক্রিপ্টের মাধ্যমে এইভাবে কুকি তৈরি করা যায়ঃ

document.cookie="username = Azizur Rahman";

এছাড়াও আপনি কুকির মেয়াদ শেষ হওয়ার তারিখ(expiry date) নির্ধারণ করতে পারেন(UTC সময়ে)। ডিফল্টভাবে ব্রাউজার বন্ধ করার সাথে সাথে কুকি ডিলেট হয়ে যায়ঃ

document.cookie="username= SATT Academy; expires=Mon, 18 Dec 2017 12:00:00 UTC";

কুকি কোন পেজের জন্য হবে একটি প্যারামিটারের মাধ্যমে আপনি ব্রাউজারকে বলে দিতে পারেন। ডিফল্টভাবে কুকি বর্তমান পেজের জন্যই নেয়া হয়।

document.cookie="username= SATT Academy; expires=Mon, 18 Dec 2017 12:00:00 UTC; path=/";

জাভাস্ক্রিপ্টের মাধ্যমে কুকি পড়া

জাভাস্ক্রিপ্টের মাধ্যমে নিম্নলিখিত উপায়ে কুকি পড়া যায়ঃ

var x = document.cookie;
Note document.cookieএকটি স্ট্রিংয়ে সকল কুকিগুলো অনেকটা এইভাবে রিটার্ন করা হয়ঃ cookie1=value; cookie2=value; cookie3=value;

জাভাস্ক্রিপ্টের মাধ্যমে কুকি পরির্বতন

জাভাস্ক্রিপ্টের মাধ্যমে যেভাবে আপনি কুকি তৈরি করেছেন, ঠিক একইভাবে কুকি পরিবর্তন করতে পারেনঃ

document.cookie="username= Azizur Rahman; expires=Mon, 18 Dec 2017 12:00:00 UTC; path=/";

পুরাতন কুকি মুছে ফেলা হয়েছে।


জাভাস্ক্রিপ্টের মাধ্যমে কুকি ডিলেট

কুকি ডিলেট করা খুবই সহজ, শুধুমাত্র "expires" প্যারামিটারে পূর্বের যেকোন তারিখ সেট করে দিতে হয়।

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC";

উল্লেখ্য যে আপনি যখন কুকি ডিলেট করবেন তখন কুকির ভ্যালু নির্ধারণ করা লাগবে না।


কুকি স্ট্রিং

document.cookie প্রোপার্টিটি দেখতে সাধারন টেক্সট স্ট্রিংয়ের মতো দেখায়। কিন্তু এটি সাধারণ স্ট্রিং নয়।

এমনকি আপনি যদি document.cookie তে একটি সম্পূর্ণ কুকি স্ট্রিং লিখেন, যখন আপনি এটি আবার পড়তে যাবেন ,তখন আপনি শুধু name-value এর জোড়ায় জোড়ায় দেখতে পাবেন।

আপনি যদি একটি নতুন কুকি সেট করেন, পুরাতন কুকি মুছে যায় না। নতুন কুকি document.cookie তে যোগ হয়, যদি আপনি পুনরায় document.cookie পড়তে যান তাহলে এমন কিছু দেখতে পাবেনঃ

cookie1=value; cookie2=value;

     

আপনি যদি একটি সুনির্দিষ্ট কুকির ভ্যালু খুজে পেতে চান, তাহলে আপনাকে অবশ্যই একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে।


জাভাস্ক্রিপ্ট কুকি উদাহরণ

নিচের উদাহরণে আমরা একটি কুকি তৈরি করবো, যা ভিজিটরের নাম সংরক্ষন করবে।

প্রথম বার ভিজিটর যখন ওয়েব পেজে প্রবেশ করবে তখন তাকে তার নাম পূরণ করতে বলা হবে। তারপর নামটি একটি কুকিতে সংরক্ষিত হবে।

পরবর্তীতে ভিজিটর যখন একই পেজে পূনরায় আসে, তখন সে একটি স্বাগত বার্তা পাবে।

উদাহরণস্বরূপ আমরা ৩টি জাভাস্ক্রিপ্ট ফাংশন তৈরি করবোঃ

  1. একটি ফাংশন কুকি ভ্যালু সেট করা জন্য
  2. একটি ফাংশন কুকি ভ্যালু পাওয়ার জন্য
  3. একটি ফাংশন কুকি ভ্যালু চেক করা জন্য

কুকি সেট করার ফাংশন

প্রথমে আমরা একটি ফাংশন তৈরি করি যা ভিজিটরের নাম একটি কুকি ভ্যারিয়েবলে সংরক্ষন করবেঃ

function setCookie(cname, cvalue, exdays) {
	var date = new Date();
	date.setTime(date.getTime() + (exdays*24*60*60*1000));
	var	expires = "expires="+date.toUTCString();
	document.cookie =	cname + "=" + cvalue + "; " + expires;
}

উদাহরণের ব্যাখ্যাঃ

উপরে ফাংশনের প্যারামিটারগুলোর মধ্যে প্রথমটি হলো কুকির নাম(cname), দ্বিতীয়টি কুকির ভ্যালু(cvalue) এবং শেষেরটি কুকির মেয়াদউত্তীর্ণের তারিখ(exdays)।

ফাংশনটি কুকির নাম, কুকির ভ্যালু এবং স্ট্রিংয়ের মেয়াদউত্তীর্ণের তারিখ একত্রে যুক্ত করে একটি কুকি তৈরি করে।


কুকি পাওয়ার ফাংশন

তারপর আমরা একটি ফাংশন তৈরি করি যেটি কুকির ভ্যালু রিটার্ণ করবেঃ

function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(";");
for(var i=0; i<ca.length; i++) {
	var c = ca[i];
	while (c.charAt(0) == " ") c = c.substring(1);
	if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
	}
	return "";
}

ফাংশনের ব্যাখ্যাঃ

কুকির নাম(cname) প্যারামিটার হিসেবে নেয়।

অনুসন্ধানের জন্য cname + "=" টেক্সটের সাহায্যে একটি ভ্যারিয়েবল(name) তৈরি করেছি।

document.cookie কে সেমিকোলনে বিভক্ত করে ca(ca = document.cookie.split(";")) অ্যারেতে রাখি।

ca অ্যারেতে লুপের(i=0;i<ca.length;i++) মাধ্যমে অ্যারের প্রতিটি মান পড়ি(c ‍=ca[i])।

যদি কুকি খুজে পাওয়া যায় (c.indexOf(name) == 0),তাহলে c.substring(name.length,c.length) কুকি ভ্যালু রিটার্ন করে।

আর যদি কুকি না পাওয়া যায়, তাহলে "" রিটার্ন করে।


কুকি চেক করার ফাংশন

সর্বশেষ,আমরা একটি ফাংশন তৈরি করি যা দিয়ে কুকি সেট হয়েছে কিনা তা চেক করে।

যদি কুকি সেট করা থাকে তাহলে এটি একটি স্বাগত বার্তা প্রদর্শন করবে।

আর যদি কুকি সেট করা না থাকে তাহলে setCookie ফাংশন কল করার মাধ্যমে ইহা একটি প্রোম্পট(prompt) বক্স প্রদর্শন করে ব্যবহারকারীর নাম চাইবে এবং ৩৬৫ দিনের জন্য ব্যবহারকারীর নাম সংরক্ষন করবে।

function checkCookie() {
	var username=getCookie("username");
	if (username!="") {
		alert("Welcome " + username + "!");
		}else{
			username = prompt("Please enter your name:", "");
			if (username != "" && username != null) {
				setCookie("username", username, 365);
				}
	}
}

সকল ফাংশন একসঙ্গে দেয়া হলো

উদাহরণ

<!DOCTYPE html>
<html>
<head>
<title>জাভাস্ক্রিপ্ট উদাহরণ</title>
</head>
<body>

<button onclick="checkCookie()">ক্লিক করুন</button>

<script>
function setCookie(cname, cvalue, exdays) {
	var date = new Date();
	date.setTime(date.getTime() + (exdays*24*60*60*1000));
	var	expires = "expires="+date.toUTCString();
	document.cookie =	cname + "=" + cvalue + "; " + expires;
}

function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for(var i=0; i<ca.length; i++) {
	var c = ca[i];
	while (c.charAt(0) == " ") c = c.substring(1);
	if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
	}
	return "";
}

function checkCookie() {
	var username=getCookie("username");
	if (username!="") {
		alert("Welcome " + username + "!");
		}else{
			username = prompt("Please enter your name:", "");
			if (username != "" && username != null) {
				setCookie("username", username, 365);
				}
	}
}
</script>
</body>
</html>

ফলাফল



উপরের উদাহরণটিতে checkCookie() ফাংশনটি পেজ লোড হওয়ার পর কাজ করবে।