2011-04-06 52 views
2

我正在嘗試爲EtherPad網站構建一個印刷鉻鑲嵌。問題是我不知道如何在使用jQuery使用jQuery在Etherpad上訪問<iframe>

EtherPad的一個 iframe內取出的 <body>內嵌CSS中 iframe

如果打開EtherPad的文檔,讓我們http://typewith.me說,存在的HTML是這樣:

<body id="innerdocbody" class="syntax safari authorColors doesWrap" spellcheck="false" contenteditable="true" style="font-family: Arial, sans-serif; font-size: 13px; line-height: 17px; "> 

我只需要使用jQuery刪除樣式屬性。 (我是一個CSS的傢伙,新的jQuery)

回答

0
$('body', $('iframe#yourIframeID').contentDocument).removeAttr('style'); 
0

如果你需要運行裏面你需要啓用all_frames標誌清單iFrame的內容腳本。更多關於它here

0

剛剛寫了一個快速函數,它將在文檔中的所有iframe中遞歸地執行getElementById,並返回找到的第一個iframe。

function getElementByIdInFrames(id, base) { 
    var el; 
    if(el = base.document.getElementById(id)) { 
    return el; 
    } 

    for(var i = 0, len = base.frames.length; i < len; i++) { 
    if(el = getElementByIdInFrames(id, base.frames[i])) { 
     return el; 
    } 
    } 
} 

有了這個,你可以使用下面的代碼從#innerdocbody刪除styleAttribute

getElementByIdInFrames("innerdocbody", window).removeAttribute('style');