Accessing a frame within a frame

后端 未结 4 1613
故里飘歌
故里飘歌 2021-01-22 07:30

Ok, here is the situation. I have a site that I subscribe to that lets you add your own code, etc. They have a forum editor that I am unable to skin to match my site, so I\'d li

相关标签:
4条回答
  • 2021-01-22 07:51

    Assuming your iframes are all on the same domain give this a shot:

    $(function() {
      $(window).load(function() {
        var iframe2body = $('iframe').contents().find('body');
        iframe2body.css({ 'background-color': '#333333', 'color': '#ffffd' }); // doc2 colors
        iframe2body.contents('iframe').contents().find('body').css({ 'background-color': '#fff', 'color': '#ffffd' }); // doc3 colors
       })
    })
    

    I didn't chain it ALL together purely for readability purposes and for IE I had to change it to $(window).load(function() {

    0 讨论(0)
  • 2021-01-22 07:59
    $('#iframeID').contents().find('#someID').html();
    
    0 讨论(0)
  • 2021-01-22 08:09

    If the innerframe has a name try

    innerframeName.document.body.style.backgroundColor="#000000";
    

    I had the innerframe bgcolor set by

    < style type="text/css">

    body{background:#cccccc;}

    < /style >

    and was able to change it.

    0 讨论(0)
  • 2021-01-22 08:10

    Accessing to the document object using the iframe element can be pretty problematic. In most cases browsers let the embedded document to access the parent window's context but not vice versa. So in doc2.htm or whichever you want to control, assign your document object to parent windows variable.

    main document:

    <html>
    <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
        window.onIframeReady = function () {
            setChildColor("#bbb");
        }
    </script>
    </head>
    <body>
    Document #1
    <iframe class="postFrame" src="doc2.htm" width="100%" height="300">
    </body>
    </html>
    

    doc3.html:

    <html>
    <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script>
        parent.parent.setChildColor = function (color) {
            document.bgColor(color);
        }
        $(function () {
            parent.parent.onIframeReady();
        })
    </script>
    </head>
    <body style="background-color:#fff; color:#000;"> <!-- access this body style -->
    Document #3
    </body>
    </html>
    
    0 讨论(0)
提交回复
热议问题