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:
- Ustawić atrybut
src
po załadowaniu okna, na przykład za pomocą uchwytu zdarzeniaonload
. Można również ustawić atrybutsrc
na plik wybrany przez użytkownika w oknie wyboru pliku. W tym przypadku należy ustawić atrybut editortype edytora. - 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życiuwindow.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.
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
lubhtml
– w atrybucieeditortype
.
Podobne
- Interfejsy
- nsIAccessibleProvider