উইন্ডো.লোকেশন হিফ এবং শীর্ষস্থানীয় অবস্থানের মধ্যে পার্থক্য .h


93

যে কেউ আমাকে মধ্যে পার্থক্য বলতে পারবেন window.location.hrefএবং top.location.href?

এবং কোনটি কোথায় ব্যবহার করবেন।

আর কোনটি এমভিসিতে অ্যাজাক্স কলের পরে পুনর্নির্দেশের সময় ভাল হবে?


আমি উল্লেখ করতে ভুলে গেছি যে আমাকে। নেট এমভিসিতে একটি নতুন ইউআরএলকে পুনঃনির্দেশ করতে হয়েছিল .. যখন আমি টপ.লোকশন.হরফ ব্যবহার করতাম যখন উইন্ডো.লোকশনটি এমনভাবে কাজ করত না .. আপনিও কারণটি বলতে পারবেন কি ????
সমতাবাদী

উত্তর:


126

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);


4
একে ডাকতে সঠিক top.location.hrefএকটি ওরফে এর window.top.location.href? আমি ভেবেছিলাম যে একটি তথাকথিত "বিশ্বব্যাপী" পরিবর্তনশীল সত্যিই একটি হল একটি সম্পত্তি জন্য সাধারণভাবে সংক্ষেপে এর windowযেহেতু ওরফে বোঝা এটা একটি স্বাধীন পরিবর্তনশীল যা পয়েন্ট একই স্থানে হয়।
just.another.programmer

25

topঅবজেক্ট ফ্রেমগুলির মধ্যে আরও বোধগম্য করে। ফ্রেমের অভ্যন্তরে, windowবর্তমান ফ্রেমের উইন্ডোটিকে topবোঝায় যখন ফ্রেম (গুলি) ধারণ করে এমন বহিরাগততম উইন্ডোটিকে বোঝায়। সুতরাং:

window.location.href = 'somepage.html';মানে somepage.htmlফ্রেমের ভিতরে লোড করা ।

top.location.href = 'somepage.html';somepage.htmlমূল ব্রাউজার উইন্ডোতে লোড করা মানে ।

আরও দুটি আকর্ষণীয় বস্তু হ'ল selfএবং parent


9

topউইন্ডো অবজেক্টকে বোঝায় যা বর্তমান সমস্ত ফ্রেম ধারণ করে (বাকী উইন্ডোর পিতা)। windowবর্তমান হয় window

http://www.howtocreate.co.uk/tutorials/javascript/browserinspecific

সুতরাং top.location.hrefসমস্ত ফ্রেমযুক্ত "মাস্টার" পৃষ্ঠার লিঙ্কটি ধারণ করতে পারে, যখন window.location.hrefকেবল "বর্তমান" পৃষ্ঠা লিঙ্কটি রয়েছে।


7

প্রথমটি আপনার ইতিহাসে একটি আইটেম যুক্ত করে যাতে আপনি "পিছনে" ক্লিক করতে পারেন এবং বর্তমান পৃষ্ঠায় ফিরে যেতে পারেন।

দ্বিতীয়টি বর্তমান ইতিহাসের আইটেমটি প্রতিস্থাপন করে যাতে আপনি এটিতে ফিরে যেতে পারবেন না।

দেখুন window.location:

  • assign(url): প্রদত্ত ইউআরএলে দস্তাবেজটি লোড করুন।

  • replace(url): প্রদত্ত ইউআরএলটির সাথে বর্তমান দস্তাবেজটি প্রতিস্থাপন করুন। assign()পদ্ধতি থেকে পার্থক্য হ'ল replace()বর্তমান পৃষ্ঠাটি ব্যবহার করার পরে সেশন ইতিহাসে সংরক্ষণ করা হবে না, যার অর্থ ব্যবহারকারী এতে নেভিগেট করতে ব্যাক বোতামটি ব্যবহার করতে সক্ষম হবে না।

window.location.href = url;

পক্ষপাতী:

window.location = url;

সিওআরএস ইস্যু করার জন্য এটি কাজ করছে না ... এটি কীভাবে সমাধান করবেন?
Pra_A
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.