2017 এর জন্য আপডেট
আমার আসল উত্তরটি ২০০৯ সালে লেখা হয়েছিল it এটি এখনও কাজ করার পরেও আমি এটি 2017 এর জন্য আপডেট করতে চাই Brow ব্রাউজারগুলি এখনও আলাদাভাবে আচরণ করতে পারে। ক্রস ব্রাউজারের ধারাবাহিকতা বজায় রাখতে দুর্দান্ত কাজ করার জন্য আমি jQuery দলকে বিশ্বাস করি। তবে পুরো লাইব্রেরিটি অন্তর্ভুক্ত করার দরকার নেই। JQuery উত্সে, প্রাসঙ্গিক অংশটি মাত্রা 37 সেকেন্ডের লাইনে পাওয়া যায় । এখানে এটি উত্তোলন করা হয়েছে এবং এককভাবে কাজ করতে সংশোধন করা হয়েছে:
function getWidth() {
return Math.max(
document.body.scrollWidth,
document.documentElement.scrollWidth,
document.body.offsetWidth,
document.documentElement.offsetWidth,
document.documentElement.clientWidth
);
}
function getHeight() {
return Math.max(
document.body.scrollHeight,
document.documentElement.scrollHeight,
document.body.offsetHeight,
document.documentElement.offsetHeight,
document.documentElement.clientHeight
);
}
console.log('Width: ' + getWidth() );
console.log('Height: ' + getHeight() );
আসল উত্তর
যেহেতু সমস্ত ব্রাউজারগুলি আলাদাভাবে আচরণ করে, আপনাকে প্রথমে মানগুলির জন্য পরীক্ষা করতে হবে এবং তারপরে সঠিকটি ব্যবহার করতে হবে। এখানে একটি ফাংশন যা এটি আপনার জন্য করে:
function getWidth() {
if (self.innerWidth) {
return self.innerWidth;
}
if (document.documentElement && document.documentElement.clientWidth) {
return document.documentElement.clientWidth;
}
if (document.body) {
return document.body.clientWidth;
}
}
এবং একইভাবে উচ্চতার জন্য:
function getHeight() {
if (self.innerHeight) {
return self.innerHeight;
}
if (document.documentElement && document.documentElement.clientHeight) {
return document.documentElement.clientHeight;
}
if (document.body) {
return document.body.clientHeight;
}
}
আপনার স্ক্রিপ্টগুলিতে getWidth()
বা ব্যবহার করে উভয়কে কল করুন getHeight()
। যদি ব্রাউজারের কোনও স্থানীয় বৈশিষ্ট্য সংজ্ঞায়িত না করা হয় তবে তা ফিরে আসবে undefined
।