javascript獲取iframe框架中頁面document對象,獲取子頁面裏面的內容,iframe獲取父頁面的元素,

javascript獲取iframe框架中,加載的頁面document對象javascript

由於瀏覽器安全限制,對跨域訪問的頁面,其document對象沒法讀取、設置屬性html

       function getDocument(iframe)
        {
            var Doc;
            try{
                Doc = iframe.contentWindow.document;// For IE5.5 and IE6
            }
            catch(ex){}
            if(!Doc)
            {
                Doc = iframe.contentDocument;// For NS6
            }
            return Doc;
        }java

 

用iframe嵌套頁面是,若是父頁面要獲取子頁面裏面的內容,可使用contentWindow或者contentDocument,其區別以下:跨域

a>contentWindow  這是個只讀屬性,返回指定的iframe的窗口對象。它雖然不是標準的一部分,但各個主流瀏覽器都支持。瀏覽器

b>contentDocument  Firefox 支持,IE6,IE7都不支持,IE8開始支持,須要如此訪問 document.frames['J_mainframe'].document。安全

兼容獲取document對象:服務器

var getIFrameDoc = function(){
    var iobj = document.createElement("iframe");
    document.getElementsByTagName("body")[0].appendChild(iobj);
    return iobj.contentDocument || iobj.contentWindow.document;
}

iframe的使用小貼士

時間:2014-07-25 13:53:21      閱讀:4639      評論:0      收藏:0 [點我收藏+]app

標籤:style blog http color 使用 strong io width框架

1.以前又說到「根據內容計算iframe的高度」dom

連接

2.如今想說的是,通常iframe頁面都是嵌套在父頁面當中,因此在通常在iframe裏面作相關動做時默認都是iframe頁面的,不會影響到父頁面。所以如果須要在iframe的子頁面裏面操做父頁面的元素,咱們會如何作?

iframe 子頁面操做父頁面元素須要知道的兩點是:

(1)iframe 子頁面和父頁面必須屬於同一個域下。(這個問題,通常在本地頁面來作到,是不太可能的,常常會有這個錯誤出現 「Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.」,故而通常的解決方案是放在服務器上去訪問。 )

(2)iframe 頁面獲取父頁面的對象方法是 parent

例如:iframe 子頁面獲取父頁面的id爲mask的對象:$("#mask",parent.document)

$("#mask",parent.document).html() --------- id=mask的html內容

同理能夠找到其餘類型的對象

其次,就是父頁面獲取iframe子頁面中的對象:$(window.frames["framename"].document).find("#id")

例如:$(window.frames["mainframe"].document).find("#mask2"); 中括號中的是iframe的名字,find後面則是對象的id。

詳見連接:http://blog.csdn.net/zalion/article/details/5894103

3.使用iframe時,如何正確使用,通常使用iframe時,也是會有須要經過a標籤切換的

例如:

 <ul class="nav nav-list">
                <li class="active parent_li"><a href="BSwelcome.aspx" target="mainframe"></li>
                <li class="parent_li"><a href="MyContacts/MyInfoAssitant/BSMyInfoList.aspx?jb_id=&grade=all&&paixu=no&regs=dd&cup=1" target="mainframe"></a></li>
                <li class="parent_li"><a href="MyContacts/MyOrder/BSMyOrderList.aspx?cup=1&&sel=no" target="mainframe"></a></li>
                <li class="parent_li"><a href="MyContacts/SubmitOrder/BSSubmitOrderList.aspx?cup=1" target="mainframe"></a></li>
 </ul>
 <iframe id="ifrma1" src="BSwelcome.aspx" name="mainframe" frameborder="no" scrolling="yes"
                style="width: 100%; height: 100%;"></iframe>

通常iframe要有id值,name值,而a標籤連接了地址,還要多一句 target="mainframe"  而mainframe就是iframe的name值。纔不至於點擊a標籤直接跳過去。

iframe的使用小貼士,布布扣,bubuko.com

iframe的使用小貼士

標籤:style blog http color 使用 strong io width

相關文章
相關標籤/搜索