将javascript插入同一域的不同页面

Insert javascript into different page on same domain

本文关键字:javascript 插入      更新时间:2023-09-26

嗨,我正试图从另一个页面向服务器上的页面插入一些javascript。第一页将加载到iframe中。我想从托管iframe的页面向该页面(在iframe中)插入一些css样式。有没有一个jQuery脚本可以用来做这件事?

有点像
page1->page2iframe。样式的page2脚本->iframe 中的page1

    <body>
    <!--<div id="left_col"></div>-->
    <div id="middle_col">
        <!--header-->
        <div id="header">
            <p>iFrame Example</p>
        </div>      
                <div id="entry">
                    <p>Enter your URL</p>
                    <textarea id="mytextarea" rows="1" cols="50"></textarea>
                        <a title="Check Me Out!" id="btn-wrap">
                            <span class="title">Click to view site</span>
                            <div id="info">
                                <p>
                                    <strong>Don't forget</strong>
                                    <strong>the "http://"</strong>
                                </p>
                            </div>
                        </a>
                </div>
             <br/>
             <br/>
            <iframe id="myframe" src="http://johnverber.com/simple.html">
            </iframe>
    </div>
    <!--<div id="right_col"></div>-->
<script>
    $(document).ready(function() {
        positionAd();
     });
    $(window).resize(function() {
        positionAd();
    });
    var positionAd = function() {
        var WINDOW_WIDTH = $(window).width();
        var WINDOW_HEIGHT = $(window).height();
        var BOX_WIDTH = $('#middle_col').width();
        var BOX_HEIGHT = $('#middle_col').height();
        $('#middle_col').css({"left": (WINDOW_WIDTH - BOX_WIDTH)/2, "top" : (WINDOW_HEIGHT - BOX_HEIGHT)/2});
        }
    $('#btn-wrap').click(function() {
                    var urlVal = $('#mytextarea').val();
                    if(urlVal.match("?_myTag")){
                        document.getElementById('myframe').src = urlVal;
                    }
                    else{
                        var addTag = urlVal.concat("?_myTag");
                        document.getElementById('myframe').src = addTag;
                    }
    });
    $('#myframe').contents().find("head").append("<link rel="stylesheet" type="text/css" href="addStyles.css" />");
</script>
</body>

您可以使用jQuery的.contents()访问iframe的内部DOM。从那以后就很琐碎了:

$("#iframe_id").contents().find("head").append("<script>..scripts..</script>");
//or
$("#iframe_id").contents().find("head").append("<style>..styles..</style>");

希望有帮助!

好吧,这就是最终起作用的:

$("#iframe_id").contents().find("head").html("<style>..styles..</style>");