2014-08-28 80 views
1

我試圖獲得一個簡單的wysiwyg編輯器的概念。而我堅持這個:iFrame不可編輯(wysiwyg javascript)

HTML

<iframe name="rte" id="rte" style="border:#000000 1px solid;"></iframe> 
<button onclick="makeBold();"><span class="fa fa-bold"></span></button> 

的Javascript

var richTextField = document.getElementById("rte"); 
richTextField.document.designMode = "On"; 

function makeBold() 
{ 
    richTextField.document.execCommand('bold', false, null); 
} 

問題:iframe是不可編輯。

JSFIDDLE

回答

1

變化:

richTextField.document.designMode = "On"; 

要:

richTextField.contentDocument.designMode = "On"; 

,使iframe的編輯。

參見:https://developer.mozilla.org/en-US/docs/Web/API/document.designMode

編輯:對於你的第二個問題,改變當前功能:

window.makeBold = function() 
{ 
    richTextField.contentDocument.execCommand('bold', false, null); 
} 

這是因爲你的函數是在onload事件定義,而不是在範圍之內窗口。請參閱JavaScript not running on jsfiddle.net以獲得很好的解釋。

+0

所以現在它是可編輯的,但大膽的命令不工作你可以檢查PLZ? – 2014-08-28 17:31:23

+0

查看更新的答案 – james00794 2014-08-28 17:34:59

+0

非常感謝@ james00704 – 2014-08-28 17:40:04