JQuery का उपयोग करके एक पृष्ठ को ताज़ा (पुनः लोड) करें?


82

मैं सोच रहा हूं कि jQuery का उपयोग करके एक बार (या यहां तक ​​कि विशिष्ट div) पृष्ठ को कैसे रीफ़्रेश / पुनः लोड किया जाए?

DOM structureउपलब्ध (cf. onloadघटना) के ठीक बाद एक तरह से आदर्श रूप में और नकारात्मक रूप से प्रभावित back buttonया bookmarkकार्यक्षमता को प्रभावित नहीं करता है।

कृपया, ध्यान दें: replace() तृतीय-पक्ष प्रतिबंधों के कारण अनुमति नहीं है।


मुझे आपके सवाल में कुछ याद आ रहा है। पेज को "रिफ्रेश" करने का क्या मतलब है। यदि पृष्ठ लोड हो गया है, तो तुरंत पुनः लोड करना ठीक उसी सामग्री को लोड करेगा, है ना? आप क्या खत्म करने की कोशिश कर रहे हैं?
डग नेइनेर

मैं एक ऐसे टेम्पलेट पर काम कर रहा हूं, जो पहले "सामान्य रूप से" आता है लेकिन ताज़ा / पुनः लोड होने पर iFrame में मजबूर हो जाता है। अब मैं चाहता हूँ कि पृष्ठ उस iFrame में अपनी पहली "कॉल" पर भी प्रदर्शित हो। TIA!
पीट

मुझे लगता है कि आपको यह लेख mycodingtricks.com/snippets/javascript/…
शुभम कुमार

जवाबों:


81

ठीक है, मुझे लगता है कि मुझे वह मिल गया है जो आप मांग रहे हैं। इसे इस्तेमाल करे

if(window.top==window) {
    // You're not in a frame, so you reload the site.
    window.setTimeout('location.reload()', 3000); //Reloads after three seconds
}
else {
    //You're inside a frame, so you stop reloading.
}

अगर यह एक बार है, तो बस करो

$('#div-id').triggerevent(function(){
    $('#div-id').html(newContent);
});

अगर यह समय-समय पर होता है

function updateDiv(){
    //Get new content through Ajax
    ...
    $('#div-id').html(newContent);
}

setInterval(updateDiv, 5000); // That's five seconds

तो, हर पांच सेकंड में div # div-id कंटेंट रिफ्रेश हो जाएगा। पूरे पृष्ठ को ताज़ा करने से बेहतर है।


धन्यवाद, लेकिन मैं चाहता हूं कि पृष्ठ केवल ONCE (यदि संभव हो तो ब्राउज़र सत्र के अनुसार) ताज़ा / पुनः लोड करें ...?
पीट

पुनः लोड करने के लिए ट्रिगर क्या है? एक निश्चित घटना या सिर्फ समय?
बेन

ट्रिगर: पृष्ठ का पहला "कॉल" (क्षमा करें, मेरी अंग्रेजी थोड़े गरीब है जी )
पीट

omfgroflmao, आप एक प्रतिभाशाली हैं! "संपादित" संस्करण बिल्कुल वही है जो मैं देख रहा था (पूरे दिन btw ...)। क्या यहां वैकल्पिक समय ट्रिगर जोड़ना संभव है? तो उस स्थान को लोड किया गया है - चलो कहते हैं - 3 सेकंड के बाद ...? टीआईए (आपने वास्तव में मेरा दिन बना दिया है!)
पीट

हाँ, ज़रूर, बस window.setTimeout ('location.reload ()', 3000) के साथ location.reload () बदलें;
बेन

66

पुनः लोड करने के लिए, आप यह कोशिश कर सकते हैं:

window.location.reload(true);

1
क्या आप बूल तर्क की व्याख्या कर सकते हैं?
टॉमफंब

7
यदि ब्राउज़र को वेब-सर्वर से दस्तावेज़ को पुनर्प्राप्त करना चाहिए, तो location.reload फ़ंक्शन का तर्क निर्धारित करता है। यदि वेब-सर्वर से दस्तावेज़ को फिर से खींचने की आवश्यकता है (जैसे कि जहां दस्तावेज़ सामग्री गतिशील रूप से बदल जाती है) तो तर्क को 'सही' grizzlyweb.com/webmaster/javascripts/refresh.asp के
गुप्त विवरण


5

इसे इस्तेमाल करो:

    <script type="text/javascript">
        $(document).ready(function(){

            // Check if the current URL contains '#'
            if(document.URL.indexOf("#")==-1)
            {
                // Set the URL to whatever it was plus "#".
                url = document.URL+"#";
                location = "#";

                //Reload the page
                 location.reload(true);
            }
        });
    </script>

ifशर्त के कारण , पृष्ठ केवल एक बार पुनः लोड होगा।



3

आपके पास jQuery का ताज़ा कार्य नहीं है, क्योंकि यह जावास्क्रिप्ट बेसिक्स है।

इसे इस्तेमाल करे:

<body onload="if (location.href.indexOf('reload')==-1) location.replace(location.href+'?reload');">

अच्छा है। आप इसे एक फ़ंक्शन के अंदर भी डाल सकते हैं: <body onload = "javascript: init ()"> और function init () {if (location.href.indexOf ('reload') == - 1) location .replace (स्थान)। href + '& reload');}
एड्रियन पी।

2

उपयोग:

<html>
    <head>
        <title>Reload (Refresh) Page Using Jquery</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function () {
                $('#reload').click(function() {
                    window.location.reload();
                });
            });
        </script>
    </head>
    <body>
        <button id="reload" >Reload (Refresh) Page Using</button>
    </body>
</html>

1

इसे अपनी फ़ाइल के शीर्ष पर जोड़ें और साइट हर 30 सेकंड में ताज़ा हो जाएगी।

<script type="text/javascript">
    window.onload = Refresh;

    function Refresh() {
        setTimeout("refreshPage();", 30000);
    }
    function refreshPage() {
        window.location = location.href;
    }
</script>

एक और है: हेड टैग में जोड़ें

<meta http-equiv="refresh" content="30">

1
 - location = location
 - location = location.href
 - location = window.location
 - location = self.location
 - location = window.location.href
 - location = self.location.href
 - location = location['href']
 - location = window['location']
 - location = window['location'].href
 - location = window['location']['href']

इसके लिए आपको jQuery की आवश्यकता नहीं है। आप इसे जावास्क्रिप्ट के साथ कर सकते हैं।


0

इसकी जगह इसका इस्तेमाल करें

function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}

<a href="javascript:timedRefresh(2000)">image</a>

0

इस कोड को आज़माएं:

$('#iframe').attr('src', $('#iframe').attr('src'));

0

इसे इस्तेमाल करे:

<input type="button" value="Reload" onClick="history.go(0)">

0

जावास्क्रिप्ट के साथ ताज़ा पृष्ठ के लिए, आप बस उपयोग कर सकते हैं:

location.reload();

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.