2015-11-10 171 views
1

我有一個設置了iframe的網頁。我也有4個按鈕設置在Iframe下面,這將導致它顯示一個特定的頁面,具體取決於按下哪個按鈕。記住iframe頁面刷新時

簡單的東西。

我的問題是,我需要頁面每5分鐘自動刷新一次。這會重置Iframe。是否有可能強制Iframe保持它在頁面的其餘部分刷新它的位置?或者我可以讓Iframe'記住'刷新的位置?

HTML參考 -

<iframe src="Kine-Yield-Data/KG4x10.htm" name="iframe_a" frameborder="0" width="100%" height="100"></iframe> 
<br> 

<a href="Kine-Yield-Data/KG4x10.htm" target="iframe_a" class="button">10</a> 
&nbsp; 
<a href="Kine-Yield-Data/KG4x25.htm" target="iframe_a" class="button">25</a> 
&nbsp; 
<a href="Kine-Yield-Data/KG4x30.htm" target="iframe_a" class="button">30</a> 
&nbsp; 
<a href="Kine-Yield-Data/KG4x50.htm" target="iframe_a" class="button">50</a> 

我風格的鏈接的按鈕。

+0

它有趣的是,谷歌搜索只發現人們問我想要的相反。我猜想我很難過! – Jamsandwich

回答

2

那麼,你可以使用JavaScript來做到這一點。

當您按住點擊事件時,您可以保存幀路徑並在「刷新」時將此值添加到您的URL中,然後在您的iframe中選擇此值並再次設置。我做了一個腳本,一起來看看:

var currentFramePath = ''; 
var iframe = '<iframe src="{src}" name="iframe_a" id="iframe_a "frameborder="0" width="100%" height="100"></iframe>'; 

      $(document).ready(function(){ 

       var urlFrame = getUrlParameter('currentFrame'); 

       if(urlFrame != null && urlFrame != ''){ 
        $('#iframeContainer').html(iframe.replace('{src}', urlFrame)); 
        currentFramePath = urlFrame; 
       } 

       $('.button').click(function(){ 
        currentFramePath = $(this).attr('href'); 
       }); 

       setInterval(function(){ 
        window.location = window.location.href.split('?')[0] + '?currentFrame=' + currentFramePath; 
       }, 5000); 

      }); 

      function getUrlParameter(sParam) { 
       var sPageURL = decodeURIComponent(window.location.search.substring(1)), 
        sURLVariables = sPageURL.split('&'), 
        sParameterName, 
        i; 

       for (i = 0; i < sURLVariables.length; i++) { 
        sParameterName = sURLVariables[i].split('='); 

        if (sParameterName[0] === sParam) { 
         return sParameterName[1] === undefined ? true : sParameterName[1]; 
        } 
       } 
      }; 

HTML:

<div id='iframeContainer'> 
     <iframe src="Kine-Yield-Data/KG4x10.htm" name="iframe_a" id="iframe_a "frameborder="0" width="100%" height="100"></iframe> 
    </div> 
<br> 

<a href="Kine-Yield-Data/KG4x10.htm" target="iframe_a" class="button">10</a> 
&nbsp; 
<a href="Kine-Yield-Data/KG4x25.htm" target="iframe_a" class="button">25</a> 
&nbsp; 
<a href="Kine-Yield-Data/KG4x30.htm" target="iframe_a" class="button">30</a> 
&nbsp; 
<a href="Kine-Yield-Data/KG4x50.htm" target="iframe_a" class="button">50</a> 

編輯:

谷歌瀏覽器不允許你改變IFRAME SRC屬性,因此,一我發現這樣做的方法是用新的SRC值重新創建元素。

我希望它能幫助你。

+0

感謝Rodrigo的快速回復。正在處理一些其他的錯誤處理,但我今天將討論這個問題。我會讓你知道它是怎麼回事。 – Jamsandwich

+0

這是一段很棒的劇本,非常感謝!在我當前的項目過程中,我學到了大量關於VBA和HTML(加上CSS)的知識。我已經使用了從其他地方複製的JS的一些部分,但希望我將來有機會使用它。 這是非常有用的,但看起來如此複雜。有一天我會學習它... – Jamsandwich