2013-11-28 69 views
0

有沒有辦法選擇和刷新iframe,不知道他的ID或名稱,也可以從相同的iframe中做到這一點?選擇並刷新不知道ID或名稱的iframe

問題是知道iframe是否需要刷新是來自服務器在iframe上的響應。

那麼,我如何強制刷新此iframe?

我發現AYS刷新的iframe,但所有的人都需要的ID,如:

document.getElementById('iframeid').src = document.getElementById('iframeid').src 

document.getElementById('some_frame_id').contentWindow.location.reload(); 

也有超過1個IFRAME在網頁上,他們是將dinamicaly加載到jquery選項卡中。

我可以使用jQuery或JS

+0

好了,你要哪一個目標?第二個?具有特定類名稱或屬性的那個?你應該顯示一些HTML標記。 「 – CodingIntrigue

+0

」被刷新的是來自iframe上的服務器的響應,「不可能用於跨域iframe。如果iframe與主頁面 –

+0

*服務器在iframe上的響應*表示iframe中的頁面正在獲取服務器響應,則這當然不適用。在這種情況下,您只需刷新該iframe中的頁面?在該頁面中編寫代碼以在接收到響應時自行刷新。 – Abhitalks

回答

0

如果幾個iframe會在同一個容器中,而你不知道以何種順序它們被加載,那麼我不認爲你可以針對他們中的一個。

如果只有一個每集裝箱,而且你知道容器的id,那麼你可以做

jQuery('iframe','#container').attr('src',url); 
0

你如何選擇一個iframe元素無需瞭解其身份。 唯一的信息可能是tagName。

要刷新iframe元素,試試這個:

Array.prototype.slice.call(document.querySelectorAll('iframe')).forEach(function(element){ 
element.src = element.src; 
}) 

更改選擇查詢,只要你喜歡。

0

試試這個

在加載iframe的父窗口/頁面中創建此函數。

function reload(){ 
     var elems = document.getElementsByTagName("iframe"); 
     for (var i = 0; i < elems.length; i++) { 
      elems[i].src = elems[i].src; 
     } 
    } 

從iframe調用parent.reload()以重新加載自身。

但是,此腳本將重新加載頁面中的每個iframe,因爲您的案例中沒有特定的ID或名稱。

(如果可用),然後使用,

function reload(){ 
     var elems = document.getElementsById("iframe_id"); 
     elems.src = elems.src; 
    } 
相關問題