Dış iframe yeniletme kodu
Harici iframe Yenileme Reflesh Kodu
Sayfanızda dış iframe kullanıyorsanız. Yani başka siteyi iframe kodu ile sayfanızda yayımlıyorsanız, yayımlanan siteyi bazı durumlarda yeniletmemiz gerekebiliyor.
Fakat yenileme butonu harici iframelerde direkt olarak çalışmıyor.
Bunun için aşağıdaki gibi bir atraksiyona ihtiyacımız olacak.
Bu kodu çok aradım !
Sayfa içinden harici iframe penceresi yeniletmek için javascript kodu.
Yöntemi araştırırken gördüm ki eski çalışan kodlar yeni google chrome güncellemelerinden sonra çalışmaz olmuş.
Piyasayı araştırdım ve hem internet explorer da hem google chrome da çalışan kodu buldum.
Not: Bunu local ağ da test ederseniz çalışmıyor Kendi sayfanızda test ediniz.
Kodlar:
<!--Link yenileme kısmı bunu eklediğiniz kısımda sayfanızdaki iframe pencereniz yenilenir.--> <a class="refresh-this-frame" rel="#iframe-id-0">Yenile</a> <!--Yenilenmesini istediğiniz iframe penceresi--> <iframe src="http://www.siteadi.com" width="500px" height="400px" id="iframe-id-0"></iframe> <!--Alttaki kod sitenizin ana sayfasında olacak bunu js dosyacığı olarak ta ufaltabilirsiniz--> <script type="text/javascript"> $('.refresh-this-frame').click(function() { var targetID = $(this).attr('rel'); var targetSrc = $(targetID).attr('src'); var cleanID = targetID.replace("#",""); var chromeTest = ( navigator.userAgent.match(/Chrome/g) ? true : false ); var FFTest = ( navigator.userAgent.match(/Firefox/g) ? true : false ); if (chromeTest == true) { function removeSrc() { $(targetID).attr('src', ''); } setTimeout (removeSrc, 100); function replaceSrc() { $(targetID).attr('src', targetSrc); } setTimeout (replaceSrc, 200); } if (FFTest == true) { function removeSrc() { $(targetID).attr('src', ''); } setTimeout (removeSrc, 100); function replaceSrc() { $(targetID).attr('src', targetSrc); } setTimeout (replaceSrc, 200); } if (chromeTest == false && FFTest == false) { var targetLoc = (document.getElementById(cleanID).contentWindow.location).toString(); function removeSrc() { $(targetID).attr('src', ''); } setTimeout (removeSrc, 100); function replaceSrc2() { $(targetID).attr('src', targetLoc); } setTimeout (replaceSrc2, 200); } }); </script>
Kaynak: https://stackoverflow.com/questions/86428/what-s-the-best-way-to-reload-refresh-an-iframe
Not: Link reflesh yazısı yerine ben buton kullandım siz de buton kullanmak isterseniz aşağıdaki değişikliği yapabilirsiniz.
<!--Link yenileme kısmı bunu eklediğiniz kısımda sayfanızdaki iframe pencereniz yenilenir.--> <a class="refresh-this-frame" rel="#iframe-id-0">Yenile</a> yerine aşağıdakini yaparsanız link buton olarak işler. <input class="refresh-this-frame" type='button' value="TURNUVA BİLGİLERİNİ YENİLE" rel="#iframe-id-0" />
Bunun haricinde yardım isterseniz yorum kısmına detaylı yazın yardımcı olmaya çalışırım.