2010-08-24 27 views
7

jquery kullanarak iframe'i nasıl yeniden yükleyebilirim?Ajax Reload 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> 

cevap

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

Eğer reloadAds bir sınıf ile bir linke tıklayın ve Haim adlı yayına yorum dayanarak kendisi

+0

İşte kodum: \t Novice

+0

yükle sizin için –

11

için iFrame kaynağını ayarlamak her iFrame her zaman içinden bu şekilde döngü ne istediğiniz basitleştirilmiş olabilir gibidir:

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

Ya

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

Ancak belki de onun cevapları ihtiyaçlarınız için daha uygundur.

UPDATE: Yukarıdaki yöntem kullanılarak birlikte çalışan bir örnek koymak

. Zaman basan başka bir sayfa gösteren bir sayfada var.

HTML (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> 

Ve üst sayfa HTML (test.html): Bu Firefox'ta benim için sadece iyi çalışır

<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 ve IE 7.

+0

Cevabınız için teşekkürler! Kodunuzu denedim ama maalesef çalışmıyor. Novice

+0

orijinal mesaja güncellemeleri gibi bu gibi büyük yorum göndermek isteyebilirsiniz yükle. Lütfen çalışan bir örnek için cevabımdaki güncellemeye bakın. –