2012-07-04 171 views
0

我想從iFrame中獲取所選區域。這裏有一些類似的帖子,但沒有作品,所以我決定再次嘗試。iframe獲取所選區域

function getIframeSelectionArea() { 
var frm = frames['iFrameTextBody'].document; 
var win = frm.contentWindow; 
alert(win.getSelection().toString()); 
} 

所以我想實現的是類似於什麼是實現在stackoverflow後textarea。現在我知道他們正在使用第三方wysiwyg編輯器的變體。我試圖純粹爲了教育目的重新開始這個輪子。

我的實現很簡單。我想選擇一個文本,並通過單擊粗體說<b></b>標籤出現在所選區域的任一側。我知道我使用execCommand('bold',false,null)來做同樣的事情。正如我之前所說,這是一個實驗。

的想法是,一旦返回所選區域,請撥打以下功能:

function addhtmlTag(str){ 
    var frm = frames['iFrameTextBody'].document; 
    var frmbody = frm.getElementsByTagName('body')[0]; 
    var bold_tag = frm.createElement('b'); 
    bold_tag.textContent = str; 
    frmbody.appendChild(bold_tag); 
} 

任何瞭解是非常感謝!

乾杯

Drjay

回答

1

你的意思是這樣的:

function getSelectionFrame() { 
    var frame = document.getElementById(frameId); 
    var frameWindow = frame.contentWindow; 
    var frameDocument = frameWindow.document; 
    if (frameDocument.getSelection) { 
     return frameDocument.getSelection(); 
    } else { 
     return frameDocument.selection.createRange().text; 
    } 
} 
+0

甜它的工作!謝謝@Sudhir! – drjay

+0

不客氣 –