Undo и Redo в визуальном редакторе
Почему не работают команды отката в этом
упрощенном до невозможности коде
<html>
<body>
<div align=center>
<script>
function Post()
{
document.myform.message.value = newTextArea.document.body.innerHTML;
myform.submit();
}
function EditorExecCommand(command_param)
{
var tr = frames.newTextArea.document.selection.createRange();
alert('Undo äîñòóïíî = '+tr.queryCommandEnabled('Undo'));
alert('Bold äîñòóïíî = '+tr.queryCommandEnabled('Bold'));
tr.select();
tr.execCommand(command_param);
frames.newTextArea.focus();
}
</script>
<form name="myform" method="POST">
<input type="hidden" name="message">
</form>
<input type="button" onClick="EditorExecCommand('InsertHorizontalRule');" value=" hr ">
<input type="button" onClick="EditorExecCommand('Undo');" value=" Undo ">
<input type="button" onClick="EditorExecCommand('Redo');" value=" Redo ">
<input type="button" onClick="EditorExecCommand('Bold');" value=" B ">
<input type="button" onClick="EditorExecCommand('Italic');" value=" I ">
<input type="button" onClick="EditorExecCommand('Underline');" value=" U ">
<input type="button" onClick="EditorExecCommand('JustifyLeft');" value=" Left ">
<input type="button" onClick="EditorExecCommand('JustifyCenter');" value=" Center ">
<input type="button" onClick="EditorExecCommand('InsertOrderedList');" value=" OL ">
<input type="button" onClick="EditorExecCommand('InsertUnorderedList');" value=" UL ">
<iframe width="100%" height="80%" id="newTextArea" name="newTextArea"></iframe>
<input type="button" onClick="Post();" value="Ñîõðàíèòü">
<script>
newTextArea.document.designMode = "on";
newTextArea.document.open();
newTextArea.document.writeln('Текст');
newTextArea.document.close();
</script>
</div>
</body>
</html>
Аж мурашки по коже =))) IMHO: юзание innerHTML - дурной стиль (это IE'шная примороча, а IE - враг народа).
Потому что в MSDN так написано, что not implemented т.е НЕ РЕАЛИЗОВАННО.
Потому что в MSDN так написано, что not implemented т.е НЕ РЕАЛИЗОВАННО.
Товарищу спешу вас поздравить с вашим офигенным
непрофессионализмом.
Я не спрашиваю про то, использовать мне иннерхтмл
или нет, и я не знаю браузера, поддерживающего
лучше все самые хитрые и извратные идеи :Ё
А ответ на эту тему мне уже дали на другом
форуме и дали корректно.
Так что адиоз!
Товарищу спешу вас поздравить с вашим офигенным
непрофессионализмом.
Я не спрашиваю про то, использовать мне иннерхтмл
или нет, и я не знаю браузера, поддерживающего
лучше все самые хитрые и извратные идеи :Ё
А ответ на эту тему мне уже дали на другом
форуме и дали корректно.
Так что адиоз!
Товарищь, спешу поздравить вас с тем, что вы настоящий хам! Я не понимаю, что за наезды тут на нас, тебе отвечают, а ты ещё тут обвиняешь нас в непрофессионализме.
А вот написано что в MSDN. Под Undo
написано
"Not currently supported.".
http://msdn.microsoft.com/workshop/author/dhtml/reference/commandids.asp
Вот!
Товарищь, спешу поздравить вас с тем, что вы настоящий хам! Я не понимаю, что за наезды тут на нас, тебе отвечают, а ты ещё тут обвиняешь нас в непрофессионализме.
А вот написано что в MSDN. Под Undo
написано
"Not currently supported.".
http://msdn.microsoft.com/workshop/author/dhtml/reference/commandids.asp
Вот!
Прошу прощения, возможно я и погорячился.
Просто задалбывают эти гнилые наезды
на microsoft и ИЕ.
Солидная компания, делающая деньги.
Предоставляющая хороший продуманный АПИ.
Прекрасный браузер, но тормозящий из-за
своей продуманности: пока не достроит полностью
таблицу - он ее не показывает, чтобы не извращать
дизайн.
А ундо прекрасно поддерживается, просто
это метод документа, а не текст_ранджа.
Еще раз извините за горячку.
Прошу прощения, возможно я и погорячился.
Просто задалбывают эти гнилые наезды
на microsoft и ИЕ.
Солидная компания, делающая деньги.
Предоставляющая хороший продуманный АПИ.
Прекрасный браузер, но тормозящий из-за
своей продуманности: пока не достроит полностью
таблицу - он ее не показывает, чтобы не извращать
дизайн.
А ундо прекрасно поддерживается, просто
это метод документа, а не текст_ранджа.
Еще раз извините за горячку.
Ок. Все ответные наезды снимаются. Нет оснований не верить, что Undo работает, а вот почему, непонятно. Когда сам делал WYSIWYG-редактор, то кнопки Undo и Redo не делал из-за этого "not supported", даже не проверял работают или нет эти команды. Делал пару дней назад.
А по поводу IE. Вообще-то у него море негативных моментов, которые мне не нравятся, но они не избежны для такого сложного продукта, у MS всё так наворочено, и с морем негативных моментов. Кому что по душе: простота но меньше негативных моментов, или функциональность и много негативных моментов.
Вот задолбался вчера. Когда помещаю FORM в таблицу, то после формы IE ВСЕГДА отображает отступ, а он мне не нужен. Пришлось форму эту помещать в ещё одну таблицу, а тёг форм помещать между <TABLE> и <TR>. Почему-то IE </FORM> воспринимет как и
. Остальные отображают нормально. Однако в IE реально можно запрограмить многое.
Кстати, вот интересная ссылка - WYSIWYG редактор, который работает много под чем (Mozilla, IE, Opera), и при этом лицензия BSD (т.е можно использовать спокойно в комерческих продуктах). Даже контекстное меню своё сделали.
http://www.dynarch.com/projects/htmlarea/
Да и на самом сайте прикольно.
http://www.dynarch.com/
Этот DHTML - всё-таки придумка MS, а не других.
function EditorExecCommand(command_param)
{
if ((command_param=='Undo') || (command_param=='Redo')){
var tr = frames.newTextArea.document;
}else{
var tr = frames.newTextArea.document.selection.createRange();
tr.select();
}
tr.execCommand(command_param);
frames.newTextArea.focus();
}
Непонимаю как можно не обплевавшись вспоминать об оном (осле, тьфу), а уж говорить о логике в устройстве его работы это вообще сущие богохульство и грех. IMO: sux навеки.
И я лично никак на вопрос не отвечал, а лишь дал комментарий. :D
По умолчанию принимается что визуальный редактор - прерогатива MSIE.
С чего вдруг? :/ Тыкните пальцем, у кого эттаких умолчания?
На прочих броузерах визивик стали делать относительно недавно и то не на всех.
Стали кто?:D А не лучше-ли для начала самому вникнуть проблему, а потом смотреть на подход к ней кого-то со стороны? :/ Это ужасно.
II II III II II IIII II II II
II IIIIII IIIII III II II II II II II
II II III II II IIII
IIIIII IIIIII IIII IIII II II II II II