使用JavaScript获取多个iframe中的一个

时间:2019-05-03 09:53:29

标签: javascript

使用GA跟踪iframe时,我会向父页面添加一个脚本,如

<script>

setTimeout(function(){ 
  ga(function(tracker) {
    var clientId = tracker.get('clientId');
    var frameWindow = document.getElementById('iframeId').contentWindow;

    frameWindow.postMessage(clientId, 'https://parentpage.com'); 
  });
}, 2000); 

</script> 

只要只有一个iframe,就可以了。

但是现在我有一个页面,其中包含三个iframe,它们具有自己的不同ID,应该分别进行跟踪。

我应该如何定位某些iframe以分别跟踪每个iframe?

2 个答案:

答案 0 :(得分:1)

您可以选择类似这样的iframe

let iframes=document.querySelectorAll("iframe");


iframes.forEach(elem=>{

console.log(elem.getAttribute("id"))// address your iframe separately here


})
<iframe id="one">
</iframe>


<iframe id="two">
</iframe>

答案 1 :(得分:1)

您可以像这样迭代所有iframe:

var frames = document.getElementsByTagName("iframe");
for(var i=0;i<frames.length;i++)
{
     //do what ever you want with frames[i]
}

或者,您可以使用forEach对其进行迭代:

var frames = document.getElementsByTagName("iframe");
frames.forEach(function(frame){
    //do what ever you want with frame
})

祝你好运!