Javascript: document.execCommand cross-browser?
Po prostu natknąłem się na kawałek kodu, którego nigdy wcześniej nie widziałem:
document.execCommand('Copy');
Który wydaje się kopiować zawartość Schowka do elementu w centrum uwagi.
Czy ta funkcjonalność jest dostępna w różnych przeglądarkach?
Znalazłem stronę , która pokazuje macierz zgodności dla document.execCommand
.
3 answers
Jest to "tryb projektowania", w którym przeglądarka skutecznie zamienia dokument w edytor. ExecCommand API pochodzi z IE i został później dodany do HTML5. Dokładnie to, które polecenia są obsługiwane, a także ich zachowanie różni się w zależności od przeglądarki. Dostęp do schowka jest uważany za zagrożenie bezpieczeństwa.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-15 21:41:42
Tak, używałem go w IE, Chrome, Safari. Jeśli to działa dla tych przeglądarek, to powinno działać dla reszty. W każdym razie, metoda execCommand
obiektu document
jest używana do wykonywania poleceń związanych z wbudowanymi funkcjami edycji tekstu rozszerzonego w przeglądarce. Składnia execCommand
jest następująca: document.execCommand(command, uiBool, argument)
Parametrem polecenia jest polecenie do wykonania-pogrubienie, podkreślenie, czcionka itp.
Następnie masz uiBool
, która jest wartością logiczną, która określa, czy domyślny użytkownik interfejs powinien być pokazany.
A ostatnim parametrem jest argument use dla niektórych poleceń, które wymagają podania argumentu. Jeśli polecenie nie wymaga żadnego argumentu, przekazujemy wartość null
jako trzeci parametr.
Przykład:
document.getElementById("whateverID").document.execCommand('bold', false, null);
Lub:
document.getElementById("whateverID").document.execCommand('bold', false, <a variable nae>);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-29 22:18:32
Update: Cóż, {[0] } jest udokumentowane w dokumentacji Mozilli DOM , ale jej opis tam wygląda nieco inaczej niż w dokumentacji MSDN.
Nadal jestem prawie pewien, że nie jest w standardzie ECMA-262.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-30 01:27:51