选择并刷新不知道ID或名称的iframe

时间:2013-11-28 12:30:51

标签: javascript jquery iframe

有没有办法选择和刷新iframe,不知道他的ID或名称,还能从同一个iframe中进行操作?

问题在于知道iframe是否需要刷新是来自服务器对iframe的响应。

那么,我如何强制刷新这个iframe?

我找到了一个刷新iframe的方法,但所有这些都需要id:

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

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

网页上还有超过1个iframe,并且它们被加载到jquery标签中。

我可以使用jquery或js

3 个答案:

答案 0 :(得分:0)

如果几个iframe位于同一个容器中,并且您不知道它们的加载顺序,那么我认为您无法定位其中一个。

如果每个容器只有一个并且您知道容器的id,那么您可以

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

答案 1 :(得分:0)

如何在不知道任何身份的情况下选择单个iframe元素。 唯一的信息可能是tagName。

要刷新iframe元素,请尝试以下操作:

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

根据需要更改选择器查询。

答案 2 :(得分: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;
    }