somewhere in... blog
x
ফোনেটিক ইউনিজয় বিজয়

আজ Ajax শিখব(২)

১৯ শে মার্চ, ২০১০ দুপুর ১:০৩
এই পোস্টটি শেয়ার করতে চাইলে :

অনেক দিন হয়ে গেল সময়ই বের করতে পারছিলাম না। যাই হোক দেরিতে হলেও আবার আমরা Ajax - এর ব্যবহার করতে যে সমস্ত সাধারন সমস্যার সম্মুখীন হই তার বিস্তারিত আলোচনা করব। গত লিখায় আমরা সমস্যা ও তার কিছু সমাধান সংক্ষেপে দেখেছিলাম। আজ আমরা উদাহরণ সহ এগুলো বিস্তারিত আলোচনা করব।

১. Run-Time Script Loading Problem:
সমস্যার মূল কারন হচ্ছে, ajax এর মাধ্যমে প্রাপ্ত "data", string হিসেবে থাকে। ফলে script, CSS এগুলো কাজ করে না, যদিও এ code গুলোও document -এ থাকে।
একটু ব্যখ্যা করলে আশা করি বুঝতে সহজ হবে। মনে করি আমরা এমন কিছু ডাটা ajax সহযোগে দেখাতে চাচ্ছি যেখানে CSS style ট্যাগ রয়েছে। সেখেত্রে style গুলো অকার্যকর থাকে।
উদাহরণ:


.redspan {color:red}

Roni This is the styled red span

উপরের content আমরা যেকোন browser -এ দেখলে "This is the styled red span" লাল রঙে দেখব কিন্তু ajax ব্যবহার করে load করা হলে লাল দেখা যাবে না। কারন style tag কে browser সাধারন text render করে। এ ঘটনা script tag-এর জন্যেও ঘটে।

এ সমস্যার সমাধান মূলত তিন উপায়ে করা যায়:
ক. load script at startup
main page-এ style/script tags declear করে এ সমস্যা সহজে সমাধান করা যেতে পারে। ajax-এ শুধু HTML content load করলেই হবে। কিন্তু script বেশী হলে এ পদ্ধতী ব্যবহার না করাই ভাল।
খ. Use of eval()
এক্ষেত্রে script code part আলাদা করে eval function use করা যেতে পারে। eval() function যেকোন string কে script statement হিসাবে execute করে।
একাধিক script file load করার ক্ষেত্র যদি script dependency থাকে তাহলে এই পদ্ধতী ব্যবহার করা ভাল হয়। eval javascript statement execute করার জন্য ব্যবহারযোগ্য style tag-এর জন্য নয়।
গ. DOM object তৈরি করে(সবচেয়ে জনপ্রিয়)
এটা সবচেয়ে কার্যকরী ও জনপ্রিয় পদ্ধতী। এর মাধ্যমে javascript or css code আলাদা ভাবে ফাইলে save করে run time-এ script or style tag তৈরি করা হয়।

//foo.js load করার জন্য
var scr = document.createElement("script");
scr.src = "foo.js";
scr.type = "text/javascript";
document.getElementsByTagName("head").item(0).appendChild(scr);

//foo.css load করার জন্য
var scr = document.createElement("link");
scr.href = "foo.css";
scr.rel = "stylesheet";
scr.type = "text/javascript";
document.getElementsByTagName("head").item(0).appendChild(scr);

নিচের function use করে .js or .css ফাইল load করা যেতে পারে
loadscripts("foo.js")
loadscripts("foo.css")

function loadscripts(file){
var fileref="";
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref);
}
}

.....................(চলবে)
সর্বশেষ এডিট : ২৮ শে মার্চ, ২০১০ রাত ৮:১৫
১টি মন্তব্য ১টি উত্তর

আপনার মন্তব্য লিখুন

ছবি সংযুক্ত করতে এখানে ড্রাগ করে আনুন অথবা কম্পিউটারের নির্ধারিত স্থান থেকে সংযুক্ত করুন (সর্বোচ্চ ইমেজ সাইজঃ ১০ মেগাবাইট)
Shore O Shore A Hrosho I Dirgho I Hrosho U Dirgho U Ri E OI O OU Ka Kha Ga Gha Uma Cha Chha Ja Jha Yon To TTho Do Dho MurdhonNo TTo Tho DDo DDho No Po Fo Bo Vo Mo Ontoshto Zo Ro Lo Talobyo Sho Murdhonyo So Dontyo So Ho Zukto Kho Doye Bindu Ro Dhoye Bindu Ro Ontosthyo Yo Khondo Tto Uniswor Bisworgo Chondro Bindu A Kar E Kar O Kar Hrosho I Kar Dirgho I Kar Hrosho U Kar Dirgho U Kar Ou Kar Oi Kar Joiner Ro Fola Zo Fola Ref Ri Kar Hoshonto Doi Bo Dari SpaceBar
এই পোস্টটি শেয়ার করতে চাইলে :
আলোচিত ব্লগ

আমি আর এমন কে

লিখেছেন রূপক বিধৌত সাধু, ১৩ ই ডিসেম্বর, ২০২৫ বিকাল ৪:১৩


যখন আমি থাকব না কী হবে আর?
থামবে মুহূর্তকাল কিছু দুনিয়ার?
আলো-বাতাস থাকবে এখন যেমন
তুষ্ট করছে গৌরবে সকলের মন।
নদী বয়ে যাবে চিরদিনের মতন,
জোয়ার-ভাটা চলবে সময় যখন।
দিনে সূর্য, আর রাতের আকাশে চাঁদ-
জোছনা ভোলাবে... ...বাকিটুকু পড়ুন

২০২৪ সালের জুলাই মাস থেকে যেই হত্যাকান্ড শুরু হয়েছে, ইহা কয়েক বছর চলবে।

লিখেছেন জেন একাত্তর, ১৩ ই ডিসেম্বর, ২০২৫ সন্ধ্যা ৬:৪৭



সামুর সামনের পাতায় এখন মহামতি ব্লগার শ্রাবনধারার ১ খানা পোষ্ট ঝুলছে; উহাতে তিনি "জুলাই বেপ্লবের" ১ জল্লাদ বেপ্লবীকে কে বা কাহারা গুলি করতে পারে, সেটার উপর উনার অনুসন্ধানী... ...বাকিটুকু পড়ুন

রাজাকার হিসাবেই গর্ববোধ করবেন মুক্তিযোদ্ধা আখতারুজ্জামান !

লিখেছেন সৈয়দ কুতুব, ১৩ ই ডিসেম্বর, ২০২৫ রাত ১১:১৮


একজন রাজাকার চিরকাল রাজাকার কিন্তু একবার মুক্তিযোদ্ধা আজীবন মুক্তিযোদ্ধা নয় - হুমায়ুন আজাদের ভবিষ্যৎ বাণী সত্যি হতে চলেছে। বিএনপি থেকে ৫ বার বহিস্কৃত নেতা মেজর আখতারুজ্জামান। আপাদমস্তক টাউট বাটপার একজন... ...বাকিটুকু পড়ুন

চাঁদগাজীর মত শিম্পাঞ্জিদের পোস্টে আটকে থাকবেন নাকি মাথাটা খাটাবেন?

লিখেছেন শ্রাবণধারা, ১৪ ই ডিসেম্বর, ২০২৫ দুপুর ১২:৫৭


ধরুন ব্লগে ঢুকে আপনি দেখলেন, আপনার পোস্টে মন্তব্যকারীর নামের মধ্যে "জেন একাত্তর" ওরফে চাঁদগাজীর নাম দেখাচ্ছে। মুহূর্তেই আপনার দাঁত-মুখ শক্ত হয়ে গেল। তার মন্তব্য পড়ার আগেই আপনার মস্তিষ্ক সংকেত... ...বাকিটুকু পড়ুন

ধর্মীয় উগ্রবাদ ও জঙ্গী সৃষ্টি দিল্লী থেকে।

লিখেছেন সৈয়দ মশিউর রহমান, ১৪ ই ডিসেম্বর, ২০২৫ বিকাল ৩:১৫


((গত ১১ ডিসেম্বর ধর্মীয় উগ্রবাদ ও জঙ্গী সৃষ্টির ইতিবৃত্ত ১ শিরোনামে একটা পোস্ট দিয়েছিলাম। সেটা নাকি ব্লগ রুলসের ধারা ৩ঘ. violation হয়েছে। ধারা ৩ঘ. এ বলা আছে "যেকোন ধরণের... ...বাকিটুকু পড়ুন

×