admin管理员组

文章数量:1279011

I have one parent window and two iframes in it. I am trying to access elements of one iframe from another iframe.Using the code:

function startplay(){
   var txt="";
   txt+= "some text";
   var tag = window.frames("plays").getElementById("myvideo");
   tag.innerHTML=txt;
}

the above code lies in an iframe script which is activated by anchor tag. but nothing happens on calling the script. myvideo tag content doesn't change. is it the correct way to access the elements of one iframe from another. should i use parent.document.getElementById("plays").getElementById("myvideo"); to get a ref. of myvideo.

code lies in iframe(playright) and myvideo tag lies in iframe(plays).

I have one parent window and two iframes in it. I am trying to access elements of one iframe from another iframe.Using the code:

function startplay(){
   var txt="";
   txt+= "some text";
   var tag = window.frames("plays").getElementById("myvideo");
   tag.innerHTML=txt;
}

the above code lies in an iframe script which is activated by anchor tag. but nothing happens on calling the script. myvideo tag content doesn't change. is it the correct way to access the elements of one iframe from another. should i use parent.document.getElementById("plays").getElementById("myvideo"); to get a ref. of myvideo.

code lies in iframe(playright) and myvideo tag lies in iframe(plays).

Share Improve this question edited Dec 3, 2012 at 21:19 James A Mohler 11.1k15 gold badges50 silver badges76 bronze badges asked Aug 14, 2012 at 15:11 ashish dabralashish dabral 691 gold badge2 silver badges11 bronze badges 1
  • Are each of these iframes on the same site? If they are not, google "XSS vulnerability" – Wug Commented Aug 14, 2012 at 15:18
Add a ment  | 

2 Answers 2

Reset to default 5

if you are within one of the iframes, you need to use "parent" to go to its parent, and from there reference the iframe object.

So this should work:

parent.nameofotheriframe.getElementById("myvideo"); 

(by using getElementById you were referencing the <IFRAME> tag, not the iframe object).

I had the same problem and solved it like this:

My main page code:

<div id="left">
    <iframe id="leftframe" name="leftframe" src="iframe-left.html"></iframe>
</div>
<div id="right">
    <iframe id="rightframe" name="rightframe" src="iframe-right.html"></iframe>
</div>

Left frame:

<div id="DivInLeftFrame">aaa</div>

Right frame:

<input type="button" value="clickme" onclick="changeLeftFrame();">

The function is:

changeLeftFrame(){
     parent.leftframe.document.getElementById('DivInLeftFrame').innerHTML = 'bbb';
}

add the 'document' to work.

本文标签: javascriptaccessing elements of one iframe from another iframeStack Overflow