যে কেউ আমাকে মধ্যে পার্থক্য বলতে পারবেন window.location.hrefএবং top.location.href?
এবং কোনটি কোথায় ব্যবহার করবেন।
আর কোনটি এমভিসিতে অ্যাজাক্স কলের পরে পুনর্নির্দেশের সময় ভাল হবে?
যে কেউ আমাকে মধ্যে পার্থক্য বলতে পারবেন window.location.hrefএবং top.location.href?
এবং কোনটি কোথায় ব্যবহার করবেন।
আর কোনটি এমভিসিতে অ্যাজাক্স কলের পরে পুনর্নির্দেশের সময় ভাল হবে?
উত্তর:
window.location.href বর্তমান পৃষ্ঠার অবস্থান প্রদান করে।
top.location.href(যা একটি উপাধি window.top.location.href) উইন্ডো শ্রেণিবিন্যাসের শীর্ষতম উইন্ডোর অবস্থান প্রদান করে। যদি উইন্ডোটির কোনও পিতামাতা না থাকে তবে topতা নিজের কাছে একটি রেফারেন্স (অন্য কথায়, window=== window.top)।
topযখন আপনি ফ্রেম নিয়ে কাজ করছেন এবং অন্য পৃষ্ঠাগুলি দ্বারা খোলা উইন্ডোগুলির সাথে কাজ করছেন তখন উভয়ই কার্যকর। উদাহরণস্বরূপ, test.htmlনিম্নলিখিত স্ক্রিপ্ট সহ যদি আপনার একটি পৃষ্ঠা কল করা থাকে :
var newWin=window.open('about:blank','test','width=100,height=100');
newWin.document.write('<script>alert(top.location.href);</script>');
ফলস্বরূপ সতর্কতাতে পরীক্ষার html- এর সম্পূর্ণ পথ থাকবে না - প্রায় নয় : ফাঁকা, যা window.location.hrefপ্রত্যাবর্তন করবে।
পুনঃনির্দেশ সম্পর্কে আপনার প্রশ্নের উত্তর দিতে, সাথে যান window.location.assign(url);
top.location.hrefএকটি ওরফে এর window.top.location.href? আমি ভেবেছিলাম যে একটি তথাকথিত "বিশ্বব্যাপী" পরিবর্তনশীল সত্যিই একটি হল একটি সম্পত্তি জন্য সাধারণভাবে সংক্ষেপে এর windowযেহেতু ওরফে বোঝা এটা একটি স্বাধীন পরিবর্তনশীল যা পয়েন্ট একই স্থানে হয়।
topঅবজেক্ট ফ্রেমগুলির মধ্যে আরও বোধগম্য করে। ফ্রেমের অভ্যন্তরে, windowবর্তমান ফ্রেমের উইন্ডোটিকে topবোঝায় যখন ফ্রেম (গুলি) ধারণ করে এমন বহিরাগততম উইন্ডোটিকে বোঝায়। সুতরাং:
window.location.href = 'somepage.html';মানে somepage.htmlফ্রেমের ভিতরে লোড করা ।
top.location.href = 'somepage.html';somepage.htmlমূল ব্রাউজার উইন্ডোতে লোড করা মানে ।
topউইন্ডো অবজেক্টকে বোঝায় যা বর্তমান সমস্ত ফ্রেম ধারণ করে (বাকী উইন্ডোর পিতা)। windowবর্তমান হয় window।
http://www.howtocreate.co.uk/tutorials/javascript/browserinspecific
সুতরাং top.location.hrefসমস্ত ফ্রেমযুক্ত "মাস্টার" পৃষ্ঠার লিঙ্কটি ধারণ করতে পারে, যখন window.location.hrefকেবল "বর্তমান" পৃষ্ঠা লিঙ্কটি রয়েছে।
প্রথমটি আপনার ইতিহাসে একটি আইটেম যুক্ত করে যাতে আপনি "পিছনে" ক্লিক করতে পারেন এবং বর্তমান পৃষ্ঠায় ফিরে যেতে পারেন।
দ্বিতীয়টি বর্তমান ইতিহাসের আইটেমটি প্রতিস্থাপন করে যাতে আপনি এটিতে ফিরে যেতে পারবেন না।
দেখুন window.location:
assign(url): প্রদত্ত ইউআরএলে দস্তাবেজটি লোড করুন।
replace(url): প্রদত্ত ইউআরএলটির সাথে বর্তমান দস্তাবেজটি প্রতিস্থাপন করুন। assign()পদ্ধতি থেকে পার্থক্য হ'ল replace()বর্তমান পৃষ্ঠাটি ব্যবহার করার পরে সেশন ইতিহাসে সংরক্ষণ করা হবে না, যার অর্থ ব্যবহারকারী এতে নেভিগেট করতে ব্যাক বোতামটি ব্যবহার করতে সক্ষম হবে না।
window.location.href = url;
পক্ষপাতী:
window.location = url;