ajax функция фильтрации тэгов при copy\past

12
[Удален]
835

Ребят собственно сабж, существует ли скриптик который при копипасте в виз редактор или вообще в любое текстовое поле фильтровало тэги, так как проблема заключается в том, что при копипасте в mazilla crome копирует все тэги со страницы и вставляет их в виз редактор, а это очень плохо, приходится копировать в txt а оттуда уже в виз. редактор.

T.R.O.N
На сайте с 18.05.2004
Offline
314
#1
KosoyRoman:
приходится копировать в txt а оттуда уже в виз. редактор.

А что мешает перехватывать стандартную вставку и вставлять самому читая из буфера обмена уже просто текст?

	var ctext = window.clipboardData.getData("Text");

window.clipboardData.setData("Text", ctext);
От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
[Удален]
#2

T.R.O.N спасибо конечно большое, но я понятия не имею как использовать её ))

T.R.O.N
На сайте с 18.05.2004
Offline
314
#3

KosoyRoman,

в AJAX редактор нужно вставить команду типа

editor.body.onbeforepaste=a;

где-то у Вас должна быть команда типа

editor = document.frames["******"].document;

editor.designMode = "On"

нужно добавить функцию

function a{

var ctext = window.clipboardData.getData("Text");

window.clipboardData.setData("Text", ctext);

}

т.е. мы перехватываем событие вставки в окно редактора и перед вставкой читаем из буфера то, что там есть в виде текста и записываем обратно. В итоге, что-бы нибыло в буфере, там будет обычный не форматированный текст

[Удален]
#4

у меня на ajax редактор, есть такие строки


$.fn.document = function()
{
var element = this[0];

if ( element.nodeName.toLowerCase() == 'iframe' )
return element.contentWindow.document;
/*
return ( $.browser.msie )
? document.frames[element.id].document
: element.contentWindow.document // contentDocument;
*/
else
return $(this);
};
T.R.O.N
На сайте с 18.05.2004
Offline
314
#5
KosoyRoman:
у меня на ajax редактор, есть такие строки

нужно искать. В приведенном вами коде нет ничего

[Удален]
#6

Вот нашел вроде оно самое, только чё куда пихать так и не понял


init : function( element, options )
{
var self = this;

this.editor = element;
this.options = options || {};

$.data(element, 'wysiwyg', this);

var newX = element.width || element.clientWidth;
var newY = element.height || element.clientHeight;

if ( element.nodeName.toLowerCase() == 'textarea' )
{
this.original = element;

if ( newX == 0 && element.cols )
newX = ( element.cols * 8 ) + 21;

if ( newY == 0 && element.rows )
newY = ( element.rows * 16 ) + 16;

var editor = this.editor = $('<iframe></iframe>').css({
minHeight : ( newY - 6 ).toString() + 'px',
width : ( newX - 8 ).toString() + 'px'
}).attr('id', $(element).attr('id') + 'IFrame');

if ( $.browser.msie )
{
this.editor
.css('height', ( newY ).toString() + 'px');

/**
var editor = $('<span></span>').css({
width : ( newX - 6 ).toString() + 'px',
height : ( newY - 8 ).toString() + 'px'
}).attr('id', $(element).attr('id') + 'IFrame');

editor.outerHTML = this.editor.outerHTML;
*/
}
}
M
На сайте с 21.07.2005
Offline
70
#7

а мозила разве уже начала разрешать работать с буфером через ява-скрипты?

T.R.O.N
На сайте с 18.05.2004
Offline
314
#8
KosoyRoman:
Вот нашел вроде оно самое, только чё куда пихать так и не понял

немного не то, постарайтесь найти любое указание на ****.designMode = "On"

[Удален]
#9
T.R.O.N:
немного не то, постарайтесь найти любое указание на ****.designMode = "On"

Вот сам файл, там много подобного ((

zip jquery.wysiwyg.zip
a.fatman
На сайте с 15.01.2006
Offline
127
#10

Отключите визуальный редактор.

Он как бы для того и создан, чтобы сохранять форматирование.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий