Autor |
Mensaje |
sabian_reloaded
Nivel 9
Edad: 34
Registrado: 18 Jun 2009
Mensajes: 2925
Ubicación: El bosque platense
Carrera: No especificada
|
|
Sebastián 'Pónganle un toldo al día' Santisi escribió:
|
Parche aplicado; gracias Hache.
|
Anda 10 puntos.
|
|
|
|
|
|
|
|
|
fernandodanko
Nivel 8
Edad: 33
Registrado: 16 May 2009
Mensajes: 859
Ubicación: Berazategui - BS.AS
Carrera: Electrónica
|
|
Mr Nadie escribió:
|
Programadores... simplificando nuestras vidas.
|
Anda genial!
|
|
|
|
|
|
|
|
|
gira
Nivel 9
Edad: 36
Registrado: 13 Ago 2007
Mensajes: 2166
Carrera: Industrial
|
|
|
|
|
JCG
Nivel 9
Registrado: 13 Oct 2010
Mensajes: 1150
Ubicación: URLINGAN
Carrera: Civil
|
|
gira escribió:
|
sabian_reloaded escribió: ‹ Seleccionar ›
Anda 10 puntos.
fernandodanko escribió: ‹ Seleccionar ›
Anda genial!
|
El problema esta cuando citas algo que tiene una cita adentrro
|
|
|
|
_________________ JCG
|
|
|
|
|
lamorsa
Nivel 8
Edad: 36
Registrado: 14 Nov 2009
Mensajes: 671
Ubicación: Monte Grande (Far South)
Carrera: Informática y Sistemas
|
|
JCG
gira escribió:
|
sabian_reloaded escribió:
|
Anda 10 puntos.
|
fernandodanko escribió:
|
Anda genial!
|
|
|
|
|
|
|
|
|
|
|
Hache
Nivel 8
Registrado: 13 May 2010
Mensajes: 574
Carrera: Informática
|
|
|
|
|
gira
Nivel 9
Edad: 36
Registrado: 13 Ago 2007
Mensajes: 2166
Carrera: Industrial
|
|
|
|
|
Hache
Nivel 8
Registrado: 13 May 2010
Mensajes: 574
Carrera: Informática
|
|
Supongo que se puede hacer. Pero no creo que quede algo lindo
|
|
|
|
_________________
|
|
|
|
|
Hache
Nivel 8
Registrado: 13 May 2010
Mensajes: 574
Carrera: Informática
|
|
Necesitaría voluntarios para probarlo a fondo. Pero supongo que con algo asi:
Código:
|
function findName(startingElement){
name = undefined;
try{
startNode = startingElement.anchorNode;
node = startNode;
while(node.className != "row1" && node.className != "row2")
node = node.parentNode;
nameNode = node.parentNode.children[0].children[0].children[1].children[0];
name = nameNode.text;
}
catch(err){}
return name;
}
//Nombre - Parte fea. Si aparece el foro en inglés seguro que no funciona
function parseQuoteName(table){
firstRow = body.children[0];
header = firstRow.children[0].children[0].children[0].textContent;
matcher=/(.*) escribió:/;
name = header.match(matcher)[1];
return name || "";
}
//Agarro las fakin tablas y reconstruyo el quote
function rebuildQuote(table){
body = table.children[0];
secondRow = body.children[1];
name = parseQuoteName(table);
//Cuerpo - Parte mas fea
bodyDiv = secondRow.children[0].children[1];
newTag = document.createElement('div');
newTag.appendChild(document.createTextNode('[quote="' + name + '"]'));
newTag.appendChild(bodyDiv);
newTag.appendChild(document.createTextNode('[/quote]'));
return newTag;
}
function removeChildrenByTagName(element, tagName){
do{
toDump = element.getElementsByTagName(tagName);
if(toDump.length>0)
toDump[0].parentNode.removeChild(toDump[0]);
}while(toDump.length>0);
return element;
}
function formatContents(selection){
try{
fragment = selection.getRangeAt(0).cloneContents();
do{
childQuote = fragment.querySelector(".bodyline"); //chan
if(childQuote)
childQuote.parentNode.replaceChild(rebuildQuote(childQuote), childQuote);
}while(childQuote);
newElement = document.createElement('div');
allChildren = fragment.childNodes;
while(allChildren.length>0)
newElement.appendChild(allChildren[0]);
//Los <script> agregan basura al texto
removeChildrenByTagName(newElement, 'script');
removeChildrenByTagName(newElement, 'br');
}catch (err){
//Por cualquier cosa (lease IE)
return selection;
}
//Como que se triplican los \n
return newElement.textContent.replace(/\n\n\n/g,"\n");
}
function quoteSelection() {
theSelection = false;
if (window.getSelection)
{
theSelection = window.getSelection();
}
else if (document.getSelection)
{
theSelection = document.getSelection();
}
else if (document.selection)
{
theSelection = document.selection.createRange().text;
}
if (theSelection) {
name = findName(theSelection);
nameString = '';
if(name != undefined)
nameString = '="'+name+'"';
// Add tags around selection
emoticon( '[quote' + nameString + ']' + formatContents(theSelection) + '[/quote]\n');
document.post.message.focus();
theSelection = '';
return;
}
else
{
alert('Seleccionar un texto de cualquier parte de una página e intentar de nuevo');
}
}
|
.... quizas....
btw no creo que valga la pena.
|
|
|
|
_________________
|
|
|
|
|
Sebastian Santisi
Administrador Técnico
Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451
|
|
Yo en esta estoy con Hache y con gira.
La respuesta rápida es para hacer una respuesta rápida. Si necesitás quotear cosas más complejas, usá el formulario de edición de posts más complejo y arremangate para ordenar las cosas.
Por lo general, lo que es cita adentro de cita, salvo contextos muy particulares no debería ser necesario y la realidad es que son un pijazo los quotes que tienen quotes anidados al pedo o quotes no recortados al pedo.
|
|
|
|
_________________
|
|
|
|
|
|