editor

Ramka, która powinna zawierać edytowalny dokument. Aby utworzyć dokument edytora, należy ustawić wartość atrybutu editortype na html. Mozilla posiada dwa typy edytorów, edytor HTML i edytor tekstowy. Edytor nie posiada żadnego interfejsu użytkownika; należy go utworzyć we własnym zakresie. Jednakże funkcje edycji tekstu, zmiany rozmiaru obrazków i edycji tabel są od razu udostępniane. W przypadku nieustawienia atrybutu editortype, edytowalność musi zostać włączona przy użyciu metody makeEditable.

Aby określić dokument do załadowania w edytorze, należy użyć atrybutu src. Jednakże istnieje problem, gdy wstępnie zostanie określony atrybut src znacznika editor w pliku XUL, dokument nie będzie domyślnie edytowalny. Aby włączyć edytowalność, należy skorzystać z jednej z poniższych metod:

  1. Ustawić atrybut src po załadowaniu okna, na przykład za pomocą uchwytu zdarzenia onload. Można również ustawić atrybut src na plik wybrany przez użytkownika w oknie wyboru pliku. W tym przypadku należy ustawić atrybut editortype edytora.
  2. Wywołać metodę makeEditable, aby dokument załadowany do edytora stał się edytowalny.

Aby edytować nowy dokument, należy ustawić atrybut src na about:blank.

Atrybuty
editortype, src, type
Własności
accessible, commandManager, contentDocument, contentWindow, docShell, editingSession, editortype, webBrowserFind, webNavigation
Metody
getEditor, getHTMLEditor, makeEditable

Przykłady

Poniższy przykład demonstruje sposób nadania edytowalności dokumentowi otwartemu w edytorze przy użyciu własności designMode wczytanego dokumentu HTML:

<script language="javascript">
function initEditor(){
    // funkcja wywoływana do przygotowania edytora
    var editor = document.getElementById("myEditor");
    editor.contentDocument.designMode = 'on'
}
</script>
<editor id="myEditor" editortype="html" src="about:blank" flex="1" type="content-primary"/>

Po nadaniu edytowalności, do dokumentu można wstawiać specjalne formatowanie, a także inne elementy HTML, przy użyciu metody document.execCommand:

    var editor = document.getElementById("myEditor");

    // toggle bold for the current selection
    editor.contentDocument.execCommand("bold", false, null);

Artykuł na temat edytora Midas zawiera więcej informacji na temat poleceń metody execCommand.

Atrybuty

editortype
Typ: jedna z wartości poniżej
Typ edytora do zastosowania. Ta wartość będzie przesłonięta w zależności od typu dokumentu załadowanego w edytorze.
  • html: Edytor HTML.
  • text: Edytor tekstowy.


src
Typ: URL
Adres URL zawartości do wyświetlenia w elemencie.

 

type
Typ: string
Jeśli ustawiony jest na content-primary, to edytor stanie się główną zawartością strony. Okno dla głównej zawartości można wygodniej pobrać przy użyciu window.content.


Własności

accessible
Typ: nsIAccessible
Zwraca obiekt dostępności dla elementu.
commandManager
Typ: nsICommandManager
Menedżer poleceń pozwalający na dokonywanie operacji w edytorze.
contentDocument
Typ: document
Własność tylko do odczytu zawierająca obiekt dokumentu w danym elemencie.


contentWindow
Typ: window
Własność tylko do odczytu zawierająca obiekt okna w elemencie.

docShell
Typ: nsIDocShell
Własność tylko do odczytu zawierająca obiekt nsIDocShell dla dokumentu.
editingSession
Typ: nsIEditingSession
Sesja edycji dla edytora, używana do zainicjowania edytora. Zazwyczaj korzystanie z tej własności nie jest konieczne.


editortype
Typ: jedna z wartości poniżej
Typ edytora do zastosowania. Ta wartość będzie przesłonięta w zależności od typu dokumentu załadowanego w edytorze.
  • html: Edytor HTML.
  • text: Edytor tekstowy.


webBrowserFind
Typ: nsIWebBrowserFind
Własność tylko do odczytu zawierająca obiekt nsIWebBrowserFind, którego można użyć do szukania tekstu w dokumencie.


webNavigation
Typ: nsIWebNavigation
Własność tylko do odczytu zawiera obiekt nsIWebNavigation dla dokumentu. Wiele z jego metod może być wywoływanych bezpośrednio na dokumencie; są to takie metody jak goBack i goForward. Zawiera także stałe wczytywania wykorzystywane przez reloadWithFlags i loadURIWithFlags.


Metody

getEditor( window )
Zwraca typ: nsIEditor
Zwraca interfejs edycji dla edytora, który zawiera szereg metod pozwalających na manipulację dokumentem. Jako argument należy przekazać contentWindow edytora.


getHTMLEditor( window )
Zwraca typ: nsIHTMLEditor
Zwraca interfejs edycji HTML dla edytora, który zawiera szereg metod pozwalających na manipulację dokumentem HTML. Jako argument należy przekazać contentWindow edytora.


makeEditable( editortype, waitForLoad )
Zwraca typ: nie zwraca wartości
Ta funkcja włącza edycję w edytorze. Należy określić typ edytora – text lub html – w atrybucie editortype.


Dziedziczy z elementu XUL
blur, click, doCommand, focus, getElementsByAttribute

Dziedziczy z elementu DOM
addEventListener(), appendChild(), dispatchEvent(), getAttribute(), getAttributeNode(), getAttributeNodeNS(), getAttributeNS(), getElementsByTagName(), getElementsByTagNameNS(), hasAttribute(), hasAttributeNS(), hasAttributes(), hasChildNodes(), insertBefore(), isSupported(), normalize(), removeAttribute(), removeAttributeNode(), removeAttributeNS(), removeChild(), removeEventListener(), replaceChild(), setAttribute(), setAttributeNode(), setAttributeNodeNS(), setAttributeNS()

Podobne

Interfejsy
nsIAccessibleProvider

Autorzy i etykiety dokumentu

Autorzy tej strony: Ptak82, VooEak, lmorchard, Marcoos, Mgjbot
Ostatnia aktualizacja: lmorchard,