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
এই পোস্টটি শেয়ার করতে চাইলে :
আলোচিত ব্লগ

'ট্রিট' বা 'উদযাপন' মানে স্রেফ খাওয়া-দাওয়াই মূখ্য কেন??

লিখেছেন শেহজাদ আমান, ৩১ শে মার্চ, ২০২৬ বিকাল ৪:৩৭



আমাদের উদযাপনটা হয়ে গেছে অনেকটা খাওয়া-দাওয়া কেন্দ্রিক? 'ট্রিট' বা 'সেলিব্রেশন' বলতে আমরা কেবল খাওয়া-দাওয়াকেই বুঝি...কিন্তু এটা কিন্তু ভিন্নরকমভাবেও করা যায় নিঃসন্দেহে!

প্রিয় কেউ ভালো কোনোকিছু করলে, সফলতা পেলে বা... ...বাকিটুকু পড়ুন

মাওলার দায়িত্ব পেয়ে সেই দায়িত্ব পালন না করায় হযরত আলীকে (রা.) মাওলা বলা ঠিক না

লিখেছেন মহাজাগতিক চিন্তা, ৩১ শে মার্চ, ২০২৬ সন্ধ্যা ৬:১৮



সূরাঃ ৬ আনআম, ১৫৩ নং আয়াতের অনুবাদ-
১৫৩। আর এপথই আমার সিরাতিম মুসতাকিম (সরল পথ)। সুতরাং তোমরা এর অনুসরন করবে, এবং বিভিন্ন পথ অনুসরন করবে না, করলে তা’ তোমাদেরকে... ...বাকিটুকু পড়ুন

আমাদের নিজেদের না পাওয়া গুলো অন্যদের পেতে সাহায্য করা উচিত।

লিখেছেন নূর আলম হিরণ, ৩১ শে মার্চ, ২০২৬ রাত ৯:৪২


আমরা মানুষেরা সবসময় ভালো থাকতে চাই। ভালো খেতে চাই, ভালো পড়তে চাই, ভালো চাকুরী/ব্যবসা করতে চাই। কিন্তু বেশিরভাগ সময়ই আমাদের চাওয়ার সাথে পাওয়ার মিল থাকেনা। এই চাওয়ার সাথে পাওয়ার মিল... ...বাকিটুকু পড়ুন

ধান ভানতে শীবের গীত : প্রজা বলে শীত ! শীত!!

লিখেছেন স্বপ্নের শঙ্খচিল, ৩১ শে মার্চ, ২০২৬ রাত ১১:২২

ধান ভানতে শীবের গীত : প্রজা বলে শীত ! শীত!!


সমুদ্রে বড় জাহাজ যখন ডুবতে থাকে, তখন কে ধনী বা কে গরীব প্রকৃতি তার বাছ-বিচার করেনা ।
বা বলা চলে, কে পাপী... ...বাকিটুকু পড়ুন

এতো সুর আর এতো গান - আমার কণ্ঠে

লিখেছেন সাড়ে চুয়াত্তর, ০১ লা এপ্রিল, ২০২৬ রাত ২:০০

একটা হারানো দিনের গান গাওয়ার চেষ্টা করেছি (Cover Song)। আশা করি সবাই উপভোগ করবেন।

গান - এতো সুর আর এতো গান
মূল গায়ক - সুবীর সেন
গীতিকার এবং সুরকার - সুধিন... ...বাকিটুকু পড়ুন

×