2010-08-24 8 views
7

मैं jquery का उपयोग कर iframe को फिर से लोड कैसे कर सकता हूं?अजाक्स रीलोड आईफ्रेम

<html> 

<head> 
<script type="text/javascript" src="jquery-1.4.2.js" > </script> 


<script type="text/javascript"> 
//Reload Iframe Function  
</script> 

</head> 

<body> 
    <iframe name="f1" id = "f1" src="http://www.google.com.pk/search?q=usa+current+time&ie=utf-8&oe=utf-8&aq=t&client=firefox-a&rlz=1R1GGLL_en" width=500px height=250px> 
    </iframe> 

<button onClick="abc()"> Reload </button> 

</body> 

</html> 

उत्तर

2
$("#reload").click(function() { 
      jQuery.each($("iframe"), function() { 
       $(this).attr({ 
        src: $(this).attr("src") 
       }); 
      }); 
      return false; 
     }); 

आप reloadAds के एक वर्ग के साथ एक लिंक पर क्लिक करें और खुद

+0

यहां मेरा कोड है: \t <बटन आईडी =" पुनः लोड "onclick =" reloadFrame ('एफ 1') "> पुनः लोड – Novice

+0

मैं अद्यतन लेकिन देखना @cory जवाब अच्छा है आपके लिए –

11

हैम के पद पर अपनी टिप्पणी के आधार पर करने के लिए iFrame के स्रोत सेट प्रत्येक iFrame हर बार के माध्यम से हो जाएगा ताकि पाश , क्या आप चाहते हैं सरल किया जा सकता है के रूप में:

$('#reload').click(function() { 
    $('#f1').attr('src', $('#f1').attr('src')); 
    return false; 
}); 

या

$('#reload').click(function() { 
    $('#f1')[0].contentWindow.location.reload(true); 
    return false; 
}); 

लेकिन शायद उनके उत्तर आपकी आवश्यकताओं के अनुरूप बेहतर हैं।

अद्यतन:

मैं विधि मैं ऊपर प्रदान का उपयोग कर एक साथ रखा एक काम उदाहरण। मेरे पास एक पृष्ठ में है जो उस समय प्रिंट करता है जो एक और पृष्ठ दिखाता है।

एचटीएमएल (time.html):

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
</head> 
<body> 

    The time is now <span id="time"></span>. 

    <script type="text/javascript"> 

     $(document).ready(function() { 
      $('#time').html((new Date()).toString()); 
     }); 

    </script> 
</body> 

और माता पिता के पृष्ठ HTML (test.html):

<html> 
<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
</head> 
<body> 

    <iframe id="frame" src="file:///D:/Users/Cory/Desktop/time.html" width="500" height="250"></iframe> 

    <button id="reload">Refresh</button> 

    <script type="text/javascript"> 

     $(document).ready(function() { 
      $('#reload').click(function() { 
       $('#frame').attr('src', $('#frame').attr('src')); 
       return false; 
      }); 
     }); 

    </script> 
</body> 

यह फ़ायरफ़ॉक्स में मेरे लिए बस ठीक काम करता है 3.6 और आईई 7.

+0

आपके उत्तर के लिए धन्यवाद! मैंने आपके कोड की कोशिश की है लेकिन दुर्भाग्य से यह काम नहीं कर रहा है। <बटन आईडी =" पुनः लोड "> पुनः लोड – Novice

+0

आप अपने मूल पोस्ट के अपडेट के रूप में इस तरह के बड़े टिप्पणी पोस्ट कर सकते हैं। एक कामकाजी उदाहरण के लिए कृपया मेरे उत्तर पर मेरा अपडेट देखें। –