簡體   English   中英

富文本編輯器,使用強標記的粗體文本

[英]Rich text editor, bold text using the strong tag

我正在研究一個非常簡單的富文本編輯器。 我已經閱讀過使用應用於iframe的designMode ='On',然后我用它來創建粗體文本:

nameOfiframe.document.execCommand('bold',false,null);

盡管它有效,但execCommand()使用b標簽而不是strong來制作粗體文本。 我看了一些高級富文本編輯器,所有這些編輯器都使用strong而不是b標簽。

我有一個簡單的方法來解決這個問題嗎? 或者execCommand()根本不好用?

謝謝!

不幸的是, document.execCommand()行為因瀏覽器而異。 正如@ 1UnitedPower的回答所提到的, document.execCommand()旨在用於表示而不是語義效果。

兩種可能的選擇是:

  1. 編寫自己的代碼來做大膽的樣式。 不幸的是,正確地做到這一點並非易事。 您可以看看CKEditor和TinyMCE等主要所見即所得的編輯器是如何做到的。
  2. 調用document.execCommand()后,運行一些代碼將<b>元素轉換為<strong>元素。 這似乎是更容易的選擇。 如果這對您很重要,那么在進行轉換時,您需要一些方法來保留選擇。

execCommand不接受html-tag-name作為其第一個參數,而是接受MIDAS命令。 有關可用命令的列表,請參閱https://developer.mozilla.org/en-US/docs/Midas

希望這種行為,因為它針對的是一個所見即所得的目標。 WYSIWYG不是用於語義,而是用於文體目的。 您無法確定粗體文本背后的語義。

但是看一下insertHtmlstyleWithCSS命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM