Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/08/2005, 14:03
dey
 
Fecha de Ingreso: febrero-2004
Mensajes: 31
Antigüedad: 20 años, 1 mes
Puntos: 0
Hola radarcba aqui te mando parte del codigo en javaescrpt del WYSIWYG, la otra parte la mando en otro mensaje


var isIE = navigator.userAgent.toLowerCase().indexOf('msie') >= 0;
var isGECKO = navigator.userAgent.toLowerCase().indexOf('gecko') >= 0;

var textarea = null;
var config = { border: "1px solid #CCC", bgcolor: "#FFFFFF" };
var timers = new Array();
addEvent(window, "load", init);

function addEvent(object, event, handler) {
if (isIE)
object.attachEvent("on" + event, handler);
else
object.addEventListener(event, handler, false)
}

function init() {
if (!isIE && !isGECKO) return;
var elements = document.getElementsByTagName('textarea');
for (var i=0; i<elements.length; i++)
if (wantToMake(elements[i].id))
makeWysiwyg(elements[i]);
}

function wantToMake(id) {
if (!id || !isVar("excluidos")) return true;
for (var i=0; i<excluidos.length; i++)
if (excluidos[i] == id)
return false;
return true;
}

function isVar(variable) {
try {
eval("test = "+variable+";");
return true;
} catch (ex) {
return false;
}
}

function makeWysiwyg (element) {
textarea = element;
if (!element.id) element.id = getValidId(element.name);

var edit = element.id+'_edit';
var style = getStyle(element);

html = '\
<div style="border: '+style['border']+'; width: '+style['width']+';">\
<span id="'+edit+'">IFRAME</span>\
<div style="border-top: '+style['border']+'; background-color: #F0F0EE; padding: 0px;" align="center">\
'+addImage("bold.gif", edit, "bold", "Negrita")+'\
'+addImage("italic.gif", edit, "italic", "Cursiva")+'\
'+addImage("underline.gif", edit, "underline", "Subrayado")+'\
'+addImage("strikethrough.gif", edit, "strikethrough", "Tachado")+'\
'+addSeparator()+'\
'+addImage("link.gif", edit, "createlink", "Insertar enlace")+'\
'+addImage("unlink.gif", edit, "unlink", "Quitar enlace")+'\
'+addImage("image.gif", edit, "insertimage", "Aadir imagen")+'\
'+addSeparator()+'\
'+addImage("bullist.gif", edit, "insertunorderedlist", "Lista sin ordenar")+'\
'+addImage("numlist.gif", edit, "insertorderedlist", "Lista sin ordenar")+'\
<br>\
'+addImage("undo.gif", edit, "undo", "Deshacer")+'\
'+addImage("redo.gif", edit, "redo", "Rehacer")+'\
'+addSeparator()+'\
'+addImage("left.gif", edit, "justifyleft", "Alinear a la izquierda")+'\
'+addImage("center.gif", edit, "justifycenter", "Alinear al centro")+'\
'+addImage("right.gif", edit, "justifyright", "Alinear a la derecha")+'\
'+addImage("full.gif", edit, "justifyfull", "Alinear justificado")+'\
'+addSeparator()+'\
'+addImage("outdent.gif", edit, "outdent", "Disminuir sangria")+'\
'+addImage("indent.gif", edit, "indent", "Aumentar sangria")+'\
'+addSeparator()+'\
'+addImage("emoticons.gif", edit, "emoticons", "Despeglar emoticons")+'\
</div>\
</div>\
<table id="'+element.id+'_emo" cellspacing="0" style="position: absolute; visibility: hidden;" onmouseover="cancelTimer(\''+element.id+'_emo\')"; onmouseout="addTimer(\''+element.id+'_emo\');">\
<tr><td style="border: '+style['border']+'; background: #F0F0EE;">\
'+addEmoticon('angry.gif', edit, "Enfadado")+'\
'+addEmoticon('biggrin.gif', edit, "Sonriente")+'\
'+addEmoticon('blush.gif', edit, "Sonrojado")+'\
'+addEmoticon('confused.gif', edit, "Confuso")+'<br/>\
'+addEmoticon('cool.gif', edit, "Cool")+'\
'+addEmoticon('crazy.gif', edit, "Loco")+'\
'+addEmoticon('cry.gif', edit, "Llorando")+'\
'+addEmoticon('doze.gif', edit, "Adormilado")+'<br/>\
'+addEmoticon('hehe.gif', edit, "Hehe")+'\
'+addEmoticon('laugh.gif', edit, "Riendo")+'\
'+addEmoticon('plain.gif', edit, "Enfadado")+'\
'+addEmoticon('rolleyes.gif', edit, "Juegueton")+'<br/>\
'+addEmoticon('sad.gif', edit, "Triste")+'\
'+addEmoticon('satisfied.gif', edit, "Satisfecho")+'\
'+addEmoticon('smile.gif', edit, "Sonriente")+'\
'+addEmoticon('shocked.gif', edit, "Sorprendido")+'<br/>\
'+addEmoticon('tongue.gif', edit, "Sacando la lengua")+'\
'+addEmoticon('wink.gif', edit, "Guiado el ojo")+'\
</td></tr></table>';

if (isIE)
element.insertAdjacentHTML("beforeBegin", html);
else {
var rng = element.ownerDocument.createRange();
rng.setStartBefore(element);
element.parentNode.insertBefore(rng.createContextu alFragment(html), element);
}

element.style.display = 'none';
element.startContent = element.value;

var span = document.getElementById(edit);
var iframe = document.createElement("iframe");
iframe.id = edit;
iframe.border = iframe.frameBorder = iframe.marginWidth = iframe.marginHeight = iframe.leftMargin = iframe.topMargin = "0";
iframe.style.width = "100%";
iframe.style.height = style['height'];

if (isIE) {
iframe.src = "WYSIWYG/blank.html";
span.outerHTML = iframe.outerHTML;
getDocument(iframe).bgColor = style['bgcolor'];
} else {
span.parentNode.replaceChild(iframe, span);
var doc = getDocument(iframe);
doc.designMode = "on";
doc.open();
doc.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">'
+'<html>'
+'<head>'
+'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'
+'</head>'
+'<body style="padding: 2px; margin: 0; spacing: 0; word-wrap: break-word;">'
+element.value
+'</body>'
+'</html>');
doc.close();
iframe.style.backgroundColor = style['bgcolor'];
}

var doc = getDocument(iframe);
doc.editor = edit;
addEvent(doc, "keyup", setTextareaContent);
if (element.form)
addEvent(element.form, "reset", resetForm);
}

function mensaje (event) {
alert(event);
}