Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams 'http://lifehacker.com/'] document.getElementById('myIframe').src = sites[Math.floor(Math.random() * sites.length)]; </script> <input type="button" value="Change site" onClick="newSite()" /> <iframe id="myIframe" src="http://getprismatic.com/" onLoad="iframeDidLoad();"></iframe>

Example at http://jsfiddle.net/MALuP/

The link in this answer is broken now. It might be useful to re-upload this on jsfiddle.net , and then post a link to that. Anderson Green Feb 18, 2013 at 18:04 Works nicely! Working example wrapped in a link: <a onClick="top.document.getElementById('iframe_id').setAttribute('src',' photosonthefly.com' );" >Photos on the fly</a> This method would require a CSS pointer, like <style>a:hover {cursor: pointer;}</style> Eric P Oct 19, 2022 at 22:56
function urlChange(url) {
    var site = url+'?toolbar=0&amp;navpanes=0&amp;scrollbar=0';
    document.getElementById('iFrameName').src = site;
<a href="javascript:void(0);" onClick="urlChange('www.mypdf.com/test.pdf')">TEST </a>

You should also consider that in some Opera versions onload is fired several times and add some hooks:

// fixing Opera 9.26, 10.00
if (doc.readyState && doc.readyState != 'complete') {
    // Opera fires load event multiple times
    // Even when the DOM is not ready yet
    // this fix should not affect other browsers
    return;
// fixing Opera 9.64
if (doc.body && doc.body.innerHTML == "false") {
    // In Opera 9.64 event was fired second time
    // when body.innerHTML changed from false
    // to server response approx. after 1 sec
    return;

Code borrowed from Ajax Upload

Also, if you are using jQuery you can bind load event handler for iframe $('iframe').load(function (){ ...do smth... }) – Suor May 14, 2011 at 10:40

try this code. then 'formId' div can set the image.

$('#formId').append('<iframe style="width: 100%;height: 500px" src="/document_path/name.jpg"' +
 'title="description"> </iframe> ');
                document.frames is not valid JavaScript. parent.frames might be an option though... but it does seem that the best way to access iframes in JavaScript is indeed with getElementById.
– Ray Hulha
                Jan 27, 2013 at 16:46
        

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.