javascript - কিভাবে jQuery এর সাথে একটি পৃষ্ঠা রিফ্রেশ করতে পারি?





refresh reload (19)


JQuery Load ফাংশনটি একটি পৃষ্ঠা রিফ্রেশ করতে পারে:

$('body').load('views/file.html', function () {
    $(this).fadeIn(5000);
});

কিভাবে jQuery এর সাথে একটি পৃষ্ঠা রিফ্রেশ করতে পারি?




আপনি ব্যবহার করতে পারেন

location.reload(forceGet)

forceGet একটি বুলিয়ান এবং ঐচ্ছিক।

ডিফল্ট মিথ্যা যা ক্যাশে থেকে পৃষ্ঠাটি পুনরায় লোড করে।

ক্যাশে পরিত্রাণ পেতে সার্ভার থেকে পৃষ্ঠাটি পাওয়ার জন্য আপনি ব্রাউজারটিকে জোর করতে চান তবে এই প্যারামিটারটিকে সত্যটিতে সেট করুন।

অথবা শুধুই

location.reload()

আপনি ক্যাশিং সঙ্গে দ্রুত এবং সহজ চান।




এখানে সব উত্তর ভাল। যেহেতু প্রশ্নটি jquery সাথে পৃষ্ঠাটিকে পুনরায় লোড করার বিষয়ে নির্দিষ্ট করে, তাই আমি ভাবলাম ভবিষ্যতের পাঠকদের জন্য আরো কিছু যোগ করা।

jQuery একটি ক্রস-প্ল্যাটফর্ম জাভাস্ক্রিপ্ট লাইব্রেরি যা এইচটিএমএল ক্লায়েন্ট-সাইড স্ক্রিপ্টিং সহজ করার জন্য ডিজাইন করা হয়েছে।

~ Wikipedia ~

সুতরাং আপনি বুঝতে পারবেন যে jquery , বা jquery এর ভিত্তি javascript ভিত্তিক। তাই সহজ জিনিস আসে যখন বিশুদ্ধ javascript সঙ্গে যাচ্ছে উপায় ভাল।

কিন্তু যদি আপনি একটি jquery সমাধান প্রয়োজন, এখানে এক।

$(location).attr('href', '');



আপনি জাভাস্ক্রিপ্ট location.reload() পদ্ধতি ব্যবহার করতে পারেন। এই পদ্ধতি একটি বুলিয়ান পরামিতি গ্রহণ করে। true বা false । যদি পরামিতি true ; পৃষ্ঠার সর্বদা সার্ভার থেকে পুনরায় লোড করা। যদি এটা false ; যা ডিফল্ট বা খালি প্যারামিটার ব্রাউজারের সাথে এটির ক্যাশে পৃষ্ঠাটি পুনরায় লোড করে।

true পরামিতি সঙ্গে

<button type="button" onclick="location.reload(true);">Reload page</button>

default / false পরামিতি সঙ্গে

 <button type="button" onclick="location.reload();">Reload page</button>

Jquery ব্যবহার করে

<button id="Reloadpage">Reload page</button>
<script type="text/javascript">
    $('#Reloadpage').click(function() {
        location.reload();
    }); 
</script>



প্রশ্ন করা উচিত,

কিভাবে JavaScript সঙ্গে একটি পাতা রিফ্রেশ

window.location.href = window.location.href; //This is a possibility
window.location.reload(); //Another possiblity
history.go(0); //And another

আপনি পছন্দ জন্য spoiled করছি।




onclick="return location.reload();" বাটন ট্যাগের মধ্যে।

<button id="refersh-page" name="refersh-page" type="button" onclick="return location.reload();">Refesh Page</button>



window.location.reload() সার্ভার থেকে পুনরায় লোড হবে এবং আপনার সমস্ত ডেটা, স্ক্রিপ্ট, চিত্র ইত্যাদি লোড করবে।

সুতরাং আপনি যদি কেবল এইচটিএমএল রিফ্রেশ করতে চান তবে window.location = document.URL অনেক দ্রুত এবং কম ট্র্যাফিক নিয়ে আসবে। কিন্তু যদি URL এ হ্যাশ (#) থাকে তবে এটি পৃষ্ঠাটি পুনরায় লোড করবে না।




প্রশ্নটি জেনেরিক হিসাবে, আসুন উত্তরের সম্ভাব্য সমাধানগুলির সমষ্টি চেষ্টা করার চেষ্টা করি:

সহজ প্লেইন জাভাস্ক্রিপ্ট সমাধান :

সবচেয়ে সহজ উপায় হল একটি লাইন সমাধান একটি উপযুক্ত ভাবে স্থাপন করা:

location.reload();

এখানে অনেকেই অনুপস্থিত, কারণ তারা কিছু "পয়েন্ট" পেতে আশা করে যে পুনরায় লোড () ফাংশন নিজেই একটি পলিউম হিসাবে একটি বুলিয়ান অফার করে (বিস্তারিত: location.reload() )।

Location.reload () পদ্ধতিটি বর্তমান URL থেকে সংস্থানটি পুনরায় লোড করে। এর ঐচ্ছিক অনন্য প্যারামিটার একটি বুলিয়ান, যা যখন এটি সত্য হয়, পৃষ্ঠাটি সর্বদা সার্ভার থেকে পুনরায় লোড হতে পারে। এটি মিথ্যা বা নির্দিষ্ট না থাকলে, ব্রাউজারটি তার ক্যাশে থেকে পৃষ্ঠাটি পুনরায় লোড করতে পারে।

এই দুটি উপায় আছে মানে:

সমাধান 1: সার্ভার থেকে বর্তমান পৃষ্ঠা পুনরায় লোড করা

location.reload(true);

সমাধান 2: ক্যাশে বা সার্ভার থেকে পুনরায় লোড হচ্ছে (ব্রাউজার এবং আপনার কনফিগের উপর ভিত্তি করে)

location.reload(false);
location.reload();

এবং যদি আপনি এটি jQuery এর সাথে একত্রিত করতে চান তবে একটি ইভেন্ট শোনার জন্য, আমি "। ক্লিক" বা অন্য ইভেন্টের র্যাপার পরিবর্তে ".on ()" পদ্ধতিটি ব্যবহার করার সুপারিশ করব, উদাহরণস্বরূপ আরো সঠিক সমাধান হবে:

$('#reloadIt').on('eventXyZ', function() {
    location.reload(true);
});



জাভাস্ক্রিপ্ট সঙ্গে একটি পাতা রিফ্রেশ করার অনেক উপায় আছে:

  1. location.reload()
  2. history.go(0)
  3. location.href = location.href
  4. location.href = location.pathname
  5. location.replace(location.pathname)
  6. location.reload(false)

    যদি আমাদের আবার ওয়েব সার্ভার থেকে দস্তাবেজটি টেনে আনতে হয় (যেমন ডকুমেন্ট সামগ্রীগুলি গতিশীলভাবে পরিবর্তন করে) তখন আমরা যুক্তিটি true হিসাবে পাস করব।

আপনি তালিকাটি সৃজনশীল হিসাবে চালিয়ে যেতে পারেন:

var methods = [
  "location.reload()",
  "history.go(0)",
  "location.href = location.href",
  "location.href = location.pathname",
  "location.replace(location.pathname)",
  "location.reload(false)"
];

var $body = $("body");
for (var i = 0; i < methods.length; ++i) {
  (function(cMethod) {
    $body.append($("<button>", {
      text: cMethod
    }).on("click", function() {
      eval(cMethod); // don't blame me for using eval
    }));
  })(methods[i]);
}
button {
  background: #2ecc71;
  border: 0;
  color: white;
  font-weight: bold;
  font-family: "Monaco", monospace;
  padding: 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.5s ease;
  margin: 2px;
}
button:hover {
  background: #27ae60;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>




JQuery দিয়ে একটি পৃষ্ঠা পুনরায় লোড করতে, করুন:

$.ajax({
    url: "",
    context: document.body,
    success: function(s,x){
        $(this).html(s);
    }
});

এখানে যে পদ্ধতিটি ব্যবহার করা হয়েছিল তা হ'ল অজ্যাক্স jQuery। আমি এটা Chrome 13 এ পরীক্ষা করেছি। তারপর কোডটি হ্যান্ডলারের মধ্যে রাখি যা পুনরায় লোড ট্রিগার করবে। URL "" , যা এই পৃষ্ঠা মানে।




এখানে কোডের কিছু লাইন আপনি jQuery ব্যবহার করে পৃষ্ঠাটি পুনরায় লোড করতে ব্যবহার করতে পারেন।

এটা jQuery wrapper ব্যবহার করে এবং স্থানীয় ডোম উপাদান।

আপনি যদি আপনার কোডে কেবল একটি jQuery অনুভূতি চান তবে এটি ব্যবহার করুন এবং আপনি কোডটির গতি / কর্মক্ষমতা সম্পর্কে উদ্বিগ্ন নন।

আপনার প্রয়োজনীয়তা অনুসারে উপযুক্ত বা 1 থেকে 10 টি বাছাই করুন এবং এর আগে প্যাটার্ন এবং উত্তরগুলির উপর ভিত্তি করে আরো কিছু যোগ করুন।

<script>
  $(location)[0].reload(); //1
  $(location).get(0).reload(); //2
  $(window)[0].location.reload(); //3
  $(window).get(0).location.reload(); //4
  $(window)[0].$(location)[0].reload(); //5
  $(window).get(0).$(location)[0].reload(); //6
  $(window)[0].$(location).get(0).reload(); //7
  $(window).get(0).$(location).get(0).reload(); //8
  $(location)[0].href = ''; //9
  $(location).get(0).href = ''; //10
  //... and many other more just follow the pattern.
</script>



অনেক উপায় কাজ করবে, আমি মনে করি:

  • window.location.reload();
  • history.go(0);
  • window.location.href=window.location.href;



এটা জাভাস্ক্রিপ্ট মধ্যে সংক্ষিপ্ত।

location = '';



সহজ জাভাস্ক্রিপ্ট সমাধান:

 location = location; 

<button onClick="location = location;">Reload</button>




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

<!DOCTYPE html>
<html lang="en">
  <head>
    ...
    <meta http-equiv="refresh" content="300">
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
    <script>
    function refresh() {
      $.ajax({
        url: "",
        dataType: "text",
        success: function(html) {
          $('#fu').replaceWith($.parseHTML(html));
          setTimeout(refresh,2000);
        }
      });
    }
    refresh();
    </script>
  </head>
  <body>
    <div id="fu">
      ...
    </div>
  </body>
</html>

নোট:

  • $.ajax $.get('',function(data){$(document.body).html(data)}) মত $.ajax ব্যবহার করে CSS / js ফাইলগুলি ক্যাশে-বস্টড পেতে পারে , এমনকি যদি আপনি cache: true ব্যবহার করেন cache: true , তাই আমরা parseHTML ব্যবহার parseHTML
  • parseHTML কোনও body ট্যাগ খুঁজে পাবে না যাতে আপনার পুরো শরীরকে অতিরিক্ত parseHTML যেতে হবে, আশা করি এই জ্ঞানের বীজ আপনাকে একদিন সাহায্য করবে, আপনি অনুমান করতে পারেন যে আমরা সেই ডিভিকে কিভাবে আইডি বেছে নিলাম
  • জাভাস্ক্রিপ্ট / সার্ভার হিক্কআপের ক্ষেত্রে কিছু ভুল হলেই http-equiv="refresh" ব্যবহার করুন, তারপর পৃষ্ঠাটি ফোন কল না করেই পুনরায় লোড হবে
  • এই পদ্ধতির সম্ভবত মেমোরি যে কোনভাবে মেমরি, http-equiv রিফ্রেশ ফিক্স যে



আমি খুঁজে পেয়েছি

window.location.href = "";

অথবা

window.location.href = null;

এছাড়াও একটি পাতা রিফ্রেশ করে তোলে।

এটি কোনো হ্যাশ সরানোর পৃষ্ঠাটিকে পুনরায় লোড করা খুব সহজ করে তোলে। আইওএস সিমুলেটর এ AngularJS ব্যবহার করার সময় এটি খুব সুন্দর, তাই আমাকে অ্যাপটি পুনরায় চালু করতে হবে না।




Location.reload location.reload() ব্যবহার করুন:

$('#something').click(function() {
    location.reload();
});

reload() ফাংশনটি একটি ঐচ্ছিক প্যারামিটার নেয় যা ক্যাশের পরিবর্তে সার্ভার থেকে পুনরায় লোড করার জন্য true হিসাবে সেট করা যেতে পারে। প্যারামিটারটি false ডিফল্ট হয়, তাই ডিফল্টরূপে পৃষ্ঠাটি ব্রাউজারের ক্যাশে পুনরায় লোড হতে পারে।




আপনি জাভাস্ক্রিপ্ট থেকে কিছু প্রয়োজন নেই, বিশুদ্ধ জাভাস্ক্রিপ্ট ব্যবহার করে একটি পৃষ্ঠা পুনরায় লোড করার জন্য, ঠিক এই মত লোকেশন সম্পত্তি পুনরায় লোড ফাংশন ব্যবহার করুন:

window.location.reload();

ডিফল্টরূপে, এটি ব্রাউজার ক্যাশে ব্যবহার করে পৃষ্ঠাটি পুনরায় লোড করবে (যদি বিদ্যমান থাকে) ...

আপনি যদি পৃষ্ঠাটি পুনরায় লোড করতে চান তবে নীচের মতো পুনরায় লোড করার পদ্ধতিতে একটি সত্য মান পাস করুন ...

window.location.reload(true);

এছাড়াও যদি আপনি ইতিমধ্যে উইন্ডো স্কোপে থাকেন তবে আপনি উইন্ডোটি পরিত্রাণ পেতে পারেন এবং করতে পারেন:

location.reload();



প্রকৃতপক্ষে, যদি আপনি AngularJS ব্যবহার করেন তবে আপনাকে আর jQuery প্রয়োজন হবে না। AngularJS নিজেই বাঁধাই এবং নির্দেশিকা আছে, যা jQuery এর সাথে আপনি যা করতে পারেন তার জন্য খুব ভাল "প্রতিস্থাপন"।

আমি সাধারণত AngularJS এবং Cordova ব্যবহার করে মোবাইল অ্যাপ্লিকেশন বিকাশ । আমি প্রয়োজন jQuery থেকে শুধুমাত্র জিনিস নির্বাচক।

Googling দ্বারা, আমি সেখানে একটি স্বতন্ত্র jQuery নির্বাচক মডিউল আছে দেখতে। এটা Sizzle হয়।

এবং আমি একটি ছোট কোড স্নিপেট তৈরি করার সিদ্ধান্ত নিয়েছি যা আমাকে jQuery নির্বাচক (Sizzle ব্যবহার করে) এর শক্তি দিয়ে AngularJS ব্যবহার করে দ্রুত একটি ওয়েবসাইট শুরু করতে সহায়তা করে।

আমি এখানে আমার কোড শেয়ার করেছেন: https://github.com/huytd/Sizzular





javascript jquery refresh reload