Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: Protey от 08 Декабря 2002, 12:59:48
-
Выкладываю (О! а тут и выложить то некуда )
Значит даю линку на мои скромные труды:
http://wbbru.wline.ru/thread.php?threadid=924&boardid=117&styleid=&page=1
Самое вкусное втавка и редактирование таблиц и клавиша Enter работает как перенос строки а не вставка нового параграфа.
Всем качать!
[moderator]
ссылку исправил. В будущем проверяй ссылки, плиз.
[/moderator]
-
Лажа.
Чесслово.
Русский текст корячит, при переключении на HTML а потом обратно.
При вставке из MS Word код получается такой, что ни в ... ни в ...
Таблицы кривые.
-
ThE0ReTiC а с чем ты сравнивал?
Какой тогда хороший?
-
Вставляем текст из ворда по-секретарски (Copy-Paste)
Типа все нормально.
-
И балдеем, от Pure Word HTML Code
-
И балдеем от результата.
IE 6.0 под WindowsXP Pro Eng
-
Странно у меня не корячит!
У меня тоже корячит, и в том WYSIWYG редакторе от куда ты этот "наворот" спёр тоже корячит. ;)
При вставке из MS Word код получается такой, что ни в ... ни в ...
А разве можно получить таким образом нормальный HTML из того Вордовского дерьма??? Если да то плз покажи где ты это видел.
Таблицы кривые.
Действительно тот код который появляется после вставке таблицы галимый. Я вообще первый раз вижу возможность редактирования таблиц, теперь буду знать как это делается...;)
Странно у меня не корячит!И с вордом дружит, мож есть ещё мнения?
ИМХО врешь!
-
разве можно получить таким образом нормальный HTML из того Вордовского дерьма???
Можно. Одна страница кода навешанная на OnPaste().
Правда код, мягко говоря жуткий.
-
А у меня вообще не заработало...
-
Xander
Так у тебя ИЕ небось 5.
А надо как минимум 5.5
А начинает работать более или менее только в 6 :)
-
Эвона как...
-
ThE0ReTiC , а можно подкинуть идейку насчет того самого кода, который на OnPaste. Каким образом вордовские теги вычищаются?
Общие принципы хотя бы.
-
Общие принципы
1. Массив разрешенных тэгов.
2. Регулярка, вычащающая все тэги, кроме указанных в массиве разрешенных.
3. Вcтроенный в Jscript Event:
onbeforepaste Event
4. Использование:
removeAttributeNode Method
Подробности тут:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/div.asp
-
ThE0ReTiC, спасибо, информация для размышления есть, будем разбираться
-
Может это наглость, но всё же... ThE0ReTiC, а ты не хочешь эту самую страницу кода показать? :)
-
Tronyx
Дома лежит.
Доберусь до дома - запостю.
-
function voidPaste(){
event.returnValue=false;
document.all[\'commentsStatus\'].innerText=\'Ну тут типа вывыодится предложение подождать...\';
eOnPaste=comments.onpaste;
comments.onpaste=\'\';
voidExecCommand(\'Paste\');
comments.onpaste=eOnPaste;
voidCleanHTMLCode();
document.all[\'commentsStatus\'].innerText=\'\';
}
function voidCleanHTMLCode(){
var obj=comments;
Level=0;
if(obj.childNodes)bProcessNode(obj,0);
}
function bProcessNode(Node,RecursNum){
if(RecursNum>100)return;
var obj=Node;
var i;
var bWrong;
var chNode;
var oTextNode;
if(obj.tagName){
if(obj.attributes && Level>0){
for(i=0;i if(obj.attributes(i).specified && !bInArray(obj.attributes(i).name,VALID_ATTRIBUTES)){
obj.removeAttribute(obj.attributes[i].name);
}
}
if(obj.tagName==\'TD\' || obj.tagName==\'TH\' && obj.getAttribute(\'width\')!=null)obj.removeAttribute(\'width\');
if(obj.getAttribute(\'className\'))obj.removeAttribute(\'className\');
}
if(obj.childNodes){
Level++;
for(i=0;i chNode=obj.childNodes(i);
bWrong=bProcessNode(chNode,RecursNum+1);
if(bWrong){
sHTML=chNode.innerHTML;
chNode.insertAdjacentHTML(\'beforeBegin\',sHTML);
oTextNode=document.createTextNode(\'\');
chNode.replaceNode(oTextNode);
}
}
Level--;
}
if(obj.tagName==\'TABLE\'){
obj.setAttribute(\'width\',\'100%\');
obj.setAttribute(\'border\',0);
obj.setAttribute(\'cellSpacing\',1);
obj.setAttribute(\'cellPadding\',\'4\');
obj.className=\'mainlist\';
}
if(!bInArray(obj.tagName,VALID_TAGS) && Level>0)return true;
return false;
}
}
Так работает :)
Учищает практически все.
-
Спасибо за код.:)
Если я правильно понял вставку Вордовского текста нужно выполнять через событие onClick на какой нибудь кнопке, с помощью функции voidPaste(), но тогда вылетает ошибка ("document.all.commentsStatus есть null или не является объектом"), ругается на строку:
document.all[\'commentsStatus\'].innerText=\'Ну тут типа вывыодится предложение подождать...\';
[OFF]ThE0ReTiC за 11 минут до дома это круто! ;)[/OFF]
-
ThE0ReTiC за 11 минут до дома это круто!
Гы ;)
Я на работе откопал.
А обработка проводится на событие OnPaste
А предложение подождать выводится в другом DIV\'e
-
Может я торможу, но ошибка та же самая.:(
-
Тормозишь
-
Тормозишь
Я и так пробовал...всё время та ошибка :-( Может у тебя код не правильный? Попробуй сам, если получится то покажи как...
PS у меня IE 5.5, может для этого нужен шестой?
-
На след неделе выложу скрипт.
Там просто все в купе работает.
-
ThE0ReTiC
Я, к примеру, все еще в ожидании.
Уже даже не след неделя, а, я не побоюсь этого слова, след год. С чем, кстати.
-
dub Обработка вставляемого текста из ворда
http://www.artos.ru/editor/index.html
-
ThE0ReTiC
Спасибо!
-
http://richtext.sourceforge.net
-
ThE0ReTiC
А что у этого твоего скрипта с лицензией?
И кто его создал?
[OFF]Шкурный интерес. Нашел вот http://www.interactivetools.com/products/htmlarea/ Он пожалуй один на BSD license. В силу ряда причин (и моей честности) GNU-шная лицензия мне не подходит...[/OFF]
-
NeoNox
У моего скрипта моя лицензия, ибо я его создал.
Ссылка на автора желательна ;)
-
Фиг его знает... Всякие лицензии видел, но лицензию ThE0ReTiC еще не встречал. Этож сколько пива выставить за лицензирование нужно? :)
А если серьезно - то действительно как и куда ссылку? Линк где?
-
В коде страницы...
Пива надо.... можно потом :)
-
Ок. Буду думать.
Я летом в Москву планирую - там и расчитаемся если что.
-
Ладно :)
Я его, если сейчас будет время доделаю...
-
Так-с...
Сложность у меня с этими WYSIWYGами.. Хоть плачь..
Парился, поднимал мастдайные архивы. Для, значится, большей обратной совместимости.
Первая обнаруженная альтернатива: