উত্তর:
যদি আমি সঠিকভাবে মনে রাখি window.location.reload()তবে বর্তমান পৃষ্ঠাটি POST ডেটা সহ পুনরায় লোড করে, যেখানে window.location.href=window.location.hrefPOST ডেটা অন্তর্ভুক্ত করে না।
নীচের মন্তব্যে @ ডাব্লু 3 ম্যাক্স দ্বারা উল্লিখিত হিসাবে, ইউআরএলে window.location.href=window.location.hrefঅ্যাঙ্কর (#) থাকলে পৃষ্ঠাটি পুনরায় লোড করবে না - আপনাকে অবশ্যই window.location.reload()এই ক্ষেত্রে ব্যবহার করতে হবে ।
এছাড়াও, নীচে @ মাইক দ্বারা উল্লিখিত হিসাবে window.location.reload(), একটি অতিরিক্ত যুক্তি গ্রহণ skipCacheকরে window.location.reload(true)যাতে ব্রাউজারটি ব্যবহার করে ক্যাশে এড়িয়ে যায় এবং সার্ভার থেকে পৃষ্ঠাটি পুনরায় লোড করে। window.location.reload(false)বিপরীতে কাজ করবে এবং সম্ভব হলে পৃষ্ঠাটি ক্যাশে থেকে লোড করবে।
আপনি যদি বলেন window.location.reload(true)ব্রাউজারটি ক্যাশে এড়িয়ে যাবে এবং সার্ভার থেকে পৃষ্ঠাটি পুনরায় লোড করবে। window.location.reload(false)বিপরীত করতে হবে।
নোট: defaultজন্য মান window.location.reload()হলfalse
window.location.href = window.location.hrefকরেছি।
location.reload()বা location.reload(false)। পৃষ্ঠার সম্পূর্ণ রিফ্রেশ করতে, ব্যবহার করুন location.reload(true)।
পার্থক্য এটি
window.location = document.URL;
URL- এ কোনও হ্যাশ (#) থাকলে (এটির পরে কিছু না দিয়ে বা না করা) পৃষ্ঠাটি পুনরায় লোড করবে না whereas
window.location.reload();
পৃষ্ঠাটি পুনরায় লোড করবে।
location.href = location.hrefসামান্য ব্যবহার করতাম , তবে আমি ঠিক সেই সঠিক আচরণটি লক্ষ্য করেছি এবং এই শব্দটি ছড়িয়ে দিতে এসও এর কাছে এসেছি। location.reload()পরিবর্তে ব্যবহার করুন।
window.location.replace(window.location.pathname);
আপনি যদি বুলেটটিকে সত্যে পুনরায় লোড করেন তবে
window.location.reload(true)এটি সার্ভার থেকে লোড হবে।
এই বুলিয়ানটি কীভাবে সমর্থিত তা পরিষ্কার নয়, ডাব্লু 3 অরগ উল্লেখ করেছেন যে এনএস এটি সমর্থন করত used
সেখানে window.location.href এবং বিষয়বস্তুর মধ্যে পার্থক্য হতে পারে document.URL - অন্তত location.href এবং অ মান এবং অনুমোদিত নয় এমন মধ্যে একটি পার্থক্য ব্যবহার করা হয় এ document.location , যে ফেরৎ দিয়ে কি ছিল কিন্তু যে সত্যিই গত সহস্রাব্দ
ডকুমেন্টেশনের প্রয়োজনে আমি উইন্ডো.লোকেশন.রেলোড () ব্যবহার করব কারণ এটি আপনি করতে চান।
এই প্রশ্নটি জুড়ে এসেছিল IE এর কিছু ক্ষুদ্র আচরণ সম্পর্কে গবেষণা করে, বিশেষত IE9, পুরানো সংস্করণগুলি পরীক্ষা করে না। এটা দেখতে
window.location.reload();
একটি রিফ্রেশের ফলাফল যা পুরো পর্দাটি এক সেকেন্ডের জন্য ফাঁকা করে দেয়, যেখানে হিসাবে
window.location = document.URL;
পৃষ্ঠাটি আরও দ্রুত রিফ্রেশ করে প্রায় অদম্যভাবে।
আরও কিছু গবেষণা এবং ফিডলারের সাথে কিছু পরীক্ষা-নিরীক্ষা করা দেখে মনে হচ্ছে এটি ক্যাশকে window.location.reload()বাইপাস করবে এবং সার্ভার থেকে পুনরায় লোড করা হবে যদি আপনি এর সাথে বুলিয়ান পাস করেন বা না করেন তবে এতে আপনার সমস্ত সম্পদ (চিত্র, স্ক্রিপ্ট, স্টাইল শীট, ইত্যাদি) আবার। সুতরাং আপনি যদি পৃষ্ঠাটি এইচটিএমএল রিফ্রেশ করতে চান তবে এটি window.location = document.URLআরও দ্রুত এবং কম ট্রাফিকের সাথে ফিরে আসবে।
ব্রাউজারগুলির মধ্যে আচরণের একটি পার্থক্য হ'ল আই 9 যখন পুনরায় লোড পদ্ধতিটি ব্যবহার করে এটি দৃশ্যমান পৃষ্ঠাটি সাফ করে এবং মনে হয় এটিকে স্ক্র্যাচ থেকে পুনর্নির্মাণ করে, যেখানে এফএফ এবং ক্রোম নতুন সম্পদ পাওয়ার জন্য অপেক্ষা করে এবং যদি সেগুলি আলাদা হয় তবে তাদের পুনর্নির্মাণ করে।
ফায়ারফক্সের মধ্যে একটি পার্থক্য (12.0) হ'ল কোনও পোস্টে পোস্ট করা পৃষ্ঠায়, পুনরায় লোড () একটি সতর্কতা পপ আপ করবে এবং একটি পুনরায় পোস্ট করবে, যখন একটি URL অ্যাসাইনমেন্ট একটি জিইটি করবে।
গুগল ক্রোম উভয়ের জন্য একটি জিইটি করে।
জেএসএফ ব্যবহার করে, আমি এখন সেশনটির মেয়াদ শেষ হওয়ার পরে রিফ্রেশের সাথে সমস্যাটি করছি: পৃষ্ঠা পুনরায় লোডের পরে প্রাইমফ্রিজস এক্সপায়ারড এক্সসেপশন এবং কিছু তদন্তের সাথে আমি ফায়ারফক্সে একটি পার্থক্য পেয়েছি:
কলিং window.location.reload()এফএফ-এ রিফ্রেশ আইকনে ক্লিক করার মতো কাজ করে, এটি লাইনটি যুক্ত করে
Cache-Control max-age=0
যখন সেটিংটি window.location.hrefইউআরএল লাইনে ENTER টিপানোর মতো কাজ করে, এটি সেই লাইনটি প্রেরণ করে না।
উভয়কে জিইটি হিসাবে প্রেরণ করা হলেও, প্রথম (পুনরায় লোড) পূর্ববর্তী ডেটা পুনরুদ্ধার করছে এবং অ্যাপ্লিকেশনটি বেমানান অবস্থায় রয়েছে।
আমার প্রায় 3 বছরের অভিজ্ঞতা থেকে, আমি কোনও পার্থক্য খুঁজে পাইনি ...
সম্পাদনা: হ্যাঁ, তাদের একজন এখানে যেমন বলেছেন, কেবল উইন্ডো.লোকেশন.রেলোড () এ বুলিয়ান প্যারামিটারটি পাস করা পার্থক্য। যদি আপনি সত্যটি পাস করেন , তবে ব্রাউজারটি একটি নতুন পৃষ্ঠা লোড করে, কিন্তু যদি এটি মিথ্যা হয় , তবে ক্যাশে সংস্করণটি লোড করা হবে ...
আমাদের ক্ষেত্রে আমরা কেবল ওয়েবভিউতে পৃষ্ঠাটি পুনরায় লোড করতে চাই এবং কিছু কারণে আমরা এটি কেন খুঁজে পেলাম না! ওয়েবে থাকা প্রায় প্রতিটি সমাধানই আমরা চেষ্টা করে দেখি, তবে লোকেশন.রেলোড () বা উইন্ডো.লোকেশন.রেলোড (), অবস্থান.reload (সত্য), এর মতো বিকল্প সমাধান ব্যবহার করে পুনরায় লোড না করে আটকেছি ...!
এখানে আমাদের সহজ সমাধান:
খালি "href" এ্যাট্রিবিউশন মানটির সাথে কেবল একটি <a> ট্যাগ ব্যবহার করুন:
< a href="" ...>Click Me</a>
(কিছু ক্ষেত্রে আপনাকে পুনরায় লোড ট্রিগার করতে লক্ষ্য ক্লিক করতে "সত্য সত্য" ব্যবহার করতে হবে)
আরও তথ্যের জন্য এই প্রশ্নটি দেখুন: একটি খালি href বৈধ?