জাভাস্ক্রিপ্টে আমার উইন্ডো.নভিগেট বা ডকুমেন্ট.লোকশন ব্যবহার করা উচিত?


177

জাভাস্ক্রিপ্ট ব্যবহার করে বর্তমান ওয়েব পৃষ্ঠার অবস্থান পরিবর্তন করতে ব্যবহার করার পছন্দসই পদ্ধতিটি কী? আমি উইন্ডো.নভিগেট এবং ডকুমেন্ট.লোকশন উভয়ই দেখেছি। আচরণে কি কোনও পার্থক্য আছে? ব্রাউজার বাস্তবায়নে কি পার্থক্য রয়েছে?

উত্তর:


220
window.location.href = 'URL';

বর্তমান উইন্ডোর অবস্থান পরিবর্তন করার জন্য এটি স্ট্যান্ডার্ড বাস্তবায়ন।


22
আপনার কি উইন্ডো.লোকেশন এইচ.আরএফ স্ট্যান্ডার্ড বাস্তবায়ন? এবং সেই মানটি কি সমস্ত ব্রাউজারগুলিতে সমানভাবে কার্যকর হয়? আপনি অবশ্যই জ্ঞানসম্পন্ন বলে মনে করছেন এবং 15+ ভোট (আরও স্বীকৃত উত্তর) এটিকে আরও প্রামাণ্য করে তুলতে সহায়তা করে, যদিও আমি মনে করি দাবিটি ব্যাক আপ করার জন্য ব্রাউজার বিকাশকারী দলগুলির কাছ থেকে ডকুমেন্টেশনগুলি দেখা ভাল।
গয়িক্স

6
@ গইউইক্স, এটি সম্ভবত window.location.hrefসম্পূর্ণ বাস্তবায়ন বলা বাহুল্য, তবে window.locationএকই জিনিসটি সম্পাদন করে। ডকসস.সুন.কম / সোর্স / 816-6408-10 / location.htm দেখুন : "আপনি যদি locationকোনও বস্তুর সম্পত্তিতে একটি স্ট্রিং বরাদ্দ করেন তবে জাভাস্ক্রিপ্ট কোনও locationবস্তু তৈরি করে এবং তার স্ট্রিংটিকে তার hrefসম্পত্তিতে বরাদ্দ করে ।"
জেমস স্কিডমোর

3
দেখে মনে হচ্ছে এই ছেলেরা এটি ব্যক্তিগত পছন্দ: স্থির করেছে: developer.mozilla.org/Talk:en/DOM/window.location । বা নীচের কাছাকাছি উদাহরণটি দেখুন, তারা কেবল ব্যবহার করে window.locationতবে এটি অগত্যা কোনওভাবে নির্দেশ করে না: বিকাশকারী.মোজিলা.আর / এন / উইন্ডো.লোকেশন
জেমস স্কিডমোর

1
আমি বর্তমানে এটি অ্যান্ড্রয়েড বিকাশের জন্য ব্যবহার করছি। অ্যান্ড্রয়েডস ডিফল্ট ব্রাউজারে পৃষ্ঠাটি জেএস থেকে পুনঃনির্দেশ করতে আমার সমস্যা হচ্ছে। আমি চেষ্টা করেছি window.location.href = 'URL';এবং window.location.assign('URL');সেই পদ্ধতিটিও যা একটি নতুন পৃষ্ঠা পুনরায় লোড করার জন্য ডিজাইন করা হয়েছে। আরও তথ্য w3schools.com/jsref/obj_location.asp
ফিলিপ্স

3
window.navigateইন্টারনেট এক্সপ্লোরার দ্বারা ব্যবহৃত একটি মালিকানাধীন পদ্ধতি (আমি নিশ্চিত নই যে অন্যান্য ব্রাউজারগুলি এটি উপযুক্ততার জন্য নকল করে, ক্রোম তা না করে)। document.locationবা window.locationমানক অবজেক্টস (বিভিন্ন এইচটিএমএল / এইচটিএমএল 5 / ডিওএম স্পেসিফিকেশন দেখুন)। document.location = someURL(বা window.location = someURL) সম্ভবত লিগ্যাসি কোডের কারণে সমর্থিত। এটি করার সঠিক উপায় হ'ল document.location.href = someURLবা সম্ভবত document.location.assign(someURL)
ফিস্টুক

11

কিছু ব্রাউজারে উইন্ডো.নভিগেট সমর্থিত নয়

জাভা স্ক্রিপ্টে পুনঃনির্দেশের জন্য অনেকগুলি উপায় রয়েছে, নীচের কোড এবং ব্যাখ্যা দেখুন

window.location.href = "http://krishna.developerstips.com/";
window.location = "http://developerstips.com/";
window.location.replace("http://developerstips.com/");
window.location.assign("http://work.developerstips.com/");

window.location.href ব্রাউজারের ক্যাশে থেকে পৃষ্ঠা লোড করে এবং সর্বদা সার্ভারে অনুরোধটি প্রেরণ করে না। সুতরাং, যদি আপনার ক্যাশে থাকা পৃষ্ঠার একটি পুরানো সংস্করণ থাকে তবে এটি সার্ভার থেকে একটি নতুন পৃষ্ঠা লোড করার পরিবর্তে সেখানে পুনর্নির্দেশ করবে।

পুনর্নির্দেশের জন্য উইন্ডো.লোকেশন.সেসাইন () পদ্ধতিটি আপনি যদি ব্যবহারকারীকে মূল নথিতে ফিরে যেতে বোতাম বোতামটি ব্যবহার করতে দিতে চান।

উইন্ডো.লোকেশন.রেপ্লেস () পদ্ধতিটি যদি আপনি কোনও নতুন পৃষ্ঠায় পুনর্নির্দেশ করতে চান এবং ব্যবহারকারীকে পিছনের বোতামটি ব্যবহার করে মূল পৃষ্ঠায় নেভিগেট করতে না দেন।


7

ডকুমেন্ট.লোকাটিও এন হ'ল একটি (অবচিত কিন্তু এখনও উপস্থিত) কেবল পঠনযোগ্য স্ট্রিং সম্পত্তি, ডকুমেন্ট.আরএল দ্বারা প্রতিস্থাপিত ।


6

window.location ফ্রেমেও প্রভাব ফেলে,

আমি যে সেরা ফর্মটি পেয়েছি তা হ'ল:

parent.window.location.href

সবচেয়ে খারাপটি হ'ল:

parent.document.URL 

আমি একটি বিশাল ব্রাউজার পরীক্ষা করেছিলাম এবং বেশ কয়েকটি প্লাগইন সহ কিছু বিরল আইই দ্বিতীয় ফর্মের সাথে অপরিজ্ঞাত হয়ে যায়।


এই যুক্তি অনুসারে, শীর্ষে.উইন্ডো.লোকেশন.আরফ কি আরও ভাল হবে না?
অরওলোফিল

6

window.locationআপনার ব্রাউজার লক্ষ্য প্রভাবিত করবে। ডকুমেন্ট.লোকেশন কেবল আপনার ব্রাউজার এবং ফ্রেম / আইফ্রেমে প্রভাবিত করবে।


4

window.navigateকিছু ব্রাউজারে সমর্থিত নয়, যাতে এটি এড়ানো উচিত। অবস্থানের সম্পত্তি ব্যবহার করে অন্য যে কোনও পদ্ধতি হ'ল সবচেয়ে নির্ভরযোগ্য এবং ধারাবাহিক পদ্ধতি


2

আমি সাথে যেতে হবে window.location = "http://...";। আমি কয়েক বছর ধরে ক্রস ব্রাউজার জাভাস্ক্রিপ্ট কোডিং করছি, এবং এই পদ্ধতির ব্যবহার করে আমি কখনও সমস্যায় পড়িনি।

window.navigateএবং window.location.hrefআমার কাছে কিছুটা অদ্ভুত বলে মনে হচ্ছে।


13
উইন্ডো.লোকেশন কাজ করে তবে এটি প্রযুক্তিগতভাবে ভুল কারণ "অবস্থান" একটি বস্তু।
জেমস স্কিডমোর

16
তবে জাভাস্ক্রিপ্টের সমস্ত কিছুই একটি বস্তু :)
cllpse

1
যদিও জাভাস্ক্রিপ্টে সবকিছুই একটি অবজেক্ট, কোনও বস্তুকে স্ট্রিং নির্ধারণ করা সাধারণত তার কোনও বৈশিষ্ট্যের সাথে মান নির্ধারণ করে না (উইন্ডো.লোকেশন বা ডকুমেন্ট হিসাবে oc লোকেশনটি তাদের href বৈশিষ্ট্যের সাথে করে), তবে পরিবর্তে সেই বস্তুর পরিবর্তে একটি স্ট্রিং। এই ক্ষেত্রে, বিদ্যমান (কৌতূহলী) বাস্তবায়ন এবং উত্তরাধিকার (এবং এতটা উত্তরাধিকার নয়) সামগ্রীর সাথে সামঞ্জস্যপূর্ণ হওয়ার জন্য ব্রাউজারের কৌতুক যুক্ত করা হয়েছিল।
ফিস্টুক

1

আসলেই কোনও পার্থক্য নেই; এটি করার প্রায় 5 টি বিভিন্ন পদ্ধতি রয়েছে। তবে, আমি যেগুলি প্রায়শই দেখতে পাই তা হ'ল document.locationএবং window.locationসেগুলি সমস্ত বড় ব্রাউজার দ্বারা সমর্থিত। ( window.navigateপ্রোডাকশন কোডে আমি ব্যক্তিগতভাবে কখনও দেখিনি , তাই সম্ভবত এর খুব ভাল সমর্থন নেই?)


ডকুমেন্ট.লোকেশন সমস্ত ব্রাউজারে কাজ করে না। উইন্ডো.লোকেশন করে।
ফিলিপ লেবার্ট

2
ফায়ারফক্স উইন্ডো.নভিগেট সমর্থন করে না
অ্যান্ড্রু হ্যারি

0

সমর্থন document.locationএকটি হ্রাস পদ্ধতি যদিও এটি জন্য ভাল। আমি কোনও সমস্যা ছাড়াই কিছুক্ষণ এই পদ্ধতিটি ব্যবহার করে আসছি। আপনি আরও বিশদের জন্য এখানে উল্লেখ করতে পারেন:

https://developer.mozilla.org/en-US/docs/Web/API/document.location


-5

আপনি ব্যবহার করে আপনার পৃষ্ঠা সরাতে পারেন

window.location.href =Url;

3
এটি সত্যিকার অর্থে গ্রহণযোগ্য, এবং উত্তরের উত্তরগুলি আরও তথ্য যুক্ত করে না ...
স্টুয়ার্ট সিগেলার

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