Voy a replantear la pregunta, espero que me entiendan
con un js, externo a la pagina de fotolog deseo que me cree un boton en la parte de los comentarios de los fotolog, para que me ponga el texto en negritas;
suponiendo que este js esta nombrado dentro de la pagina de fotolog (por que eso hace el greasemonkey)
de revisar por aqui y por aca, consegui un script que hace lo mismo, pero con otra pagina
Código :
// JavaScript Document
// ==UserScript==
// @name Comentarios Microsiervos
// @description Permite formatear en HTML los comentarios enviados a Microsiervos
// @include http://www.microsiervos.com/archivo/*
// @include http://www.microsiervos.com/msmt/*
// ==/UserScript==
// Nota del script anterior, por Elemuy
// (http://barrapunto.com/journal.pl?op=display&uid=11529&id=14175)
// ====================================
// Para las funciones _imprimeTag y _formateaEnlace me he inspirado en el funcionamiento
// del script quicktags.js de la plataforma de publicacion WordPress (http://wordpress.org)
// por lo tanto lo licencio como GPL dado que esta es la licencia de WordPress ;)
// Nota de la adaptacion
// =====================
// He hecho una adaptacion, mas o menos decente, del script anterior creado por Elemuy para
// los comentarios de Barrapunto, a los comentarios de Microsiervos. Por lo mismo que
// antes, esta licenciado como GPL
(function()
{
window.scriptname = "mt-comments.cgi";
window._imprimeTag=function(myField, etiquetaInicio, etiquetaFin)
{
if (myField.selectionStart || myField.selectionStart == '0')
{
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
var cursorPos = endPos;
if (startPos != endPos)
{
myField.value = myField.value.substring(0, startPos)
+etiquetaInicio
+ myField.value.substring(startPos, endPos)
+etiquetaFin
+ myField.value.substring(endPos, myField.value.length);
cursorPos +=etiquetaInicio.length +etiquetaFin.length;
}
else
{
myField.value = myField.value.substring(0, startPos)
+etiquetaInicio + etiquetaFin
+ myField.value.substring(endPos, myField.value.length);
cursorPos = startPos +etiquetaInicio.length;
}
}
myField.focus();
myField.selectionStart = cursorPos;
myField.selectionEnd = cursorPos;
return false;
}
window._formateaEnlace = function()
{
var URL = prompt('Introduce la URL:' ,'http://');
if (URL)
{
_imprimeTag( textarea, '<a href="' + URL + '">', '</a>');
}
return false;
}
//////////////////////////////////////////////
// 16/06/2005 9:52 Funcion principal //
//////////////////////////////////////////////
var buttonStyle = "margin: 2px 2px 2px 2px; border: 1px solid #999; "
window.textarea = null;
window.textarea = document.getElementsByName("text")[0];
if (textarea != null)
{
// 16/06/2005 8:42 creamos la barra de herramientas y los botones
var toolbarDiv = window.document.createElement('div'); // barra
var anchorButton = window.document.createElement('button'); // <a>
var boldButton = window.document.createElement('button'); // <strong>
var italicButton = window.document.createElement('button'); // <em>
var bqButton = window.document.createElement('button'); // <blockquote>
var brButton = window.document.createElement('button'); // <br>
var pButton = window.document.createElement('button'); // <p>
var liButton = window.document.createElement('button'); // <li>
var ulButton = window.document.createElement('button'); // <ul>
var olButton = window.document.createElement('button'); // <ol>
// 16/06/2005 8:43 Asignamos sus atributos
// 17/06/2005 12:01:18 A�ado ahora los atributos title
anchorButton.setAttribute('style',buttonStyle);
anchorButton.setAttribute('onclick','return _formateaEnlace()');
anchorButton.innerHTML ="<u>enlace</u>";
boldButton.setAttribute('style',buttonStyle);
boldButton.setAttribute('onclick','return _imprimeTag(textarea, "<strong>", "</strong>")');
boldButton.innerHTML ="<b>negrita</b>";
italicButton.setAttribute('style',buttonStyle);
italicButton.setAttribute('onclick','return _imprimeTag(textarea, "<em>", "</em>")');
italicButton.innerHTML ="<i>cursiva</i>";
bqButton.setAttribute('style',buttonStyle);
bqButton.setAttribute('onclick','return _imprimeTag(textarea, "<blockquote>", "</blockquote>")');
bqButton.innerHTML ="\"cita\"";
brButton.setAttribute('style',buttonStyle);
brButton.setAttribute('onclick','return _imprimeTag(textarea, "<br>", "")');
brButton.innerHTML ="salto de l�nea";
pButton.setAttribute('style',buttonStyle);
pButton.setAttribute('onclick','return _imprimeTag(textarea, "<p>", "</p>")');
pButton.innerHTML ="p�rrafo";
liButton.setAttribute('style',buttonStyle);
liButton.setAttribute('onclick','return _imprimeTag(textarea, "<li>", "</li>")');
liButton.innerHTML ="elemento de lista";
ulButton.setAttribute('style',buttonStyle);
ulButton.setAttribute('onclick','return _imprimeTag(textarea, "<ul>", "</ul>")');
ulButton.innerHTML ="lista sin ordenar";
olButton.setAttribute('style',buttonStyle);
olButton.setAttribute('onclick','return _imprimeTag(textarea, "<ol>", "</ol>")');
olButton.innerHTML ="lista ordenada";
// 16/06/2005 9:09 vamos a�adiendo los botones a la toolbar
toolbarDiv.appendChild(anchorButton);
toolbarDiv.appendChild(boldButton);
toolbarDiv.appendChild(italicButton);
toolbarDiv.appendChild(bqButton);
toolbarDiv.appendChild(brButton);
toolbarDiv.appendChild(pButton);
toolbarDiv.appendChild(liButton);
toolbarDiv.appendChild(ulButton);
toolbarDiv.appendChild(olButton);
// 16/06/2005 9:15 Y ahora la barra al documento
if (window.scriptname == "mt-comments.cgi")
{
document.forms[1].insertBefore(toolbarDiv, document.forms[1].firstChild);
}
else
{
document.forms[1].appendChild(toolbarDiv);
}
}
})();
Francamente, no tengo ni idea de que es lo que hace ese script
la idea es crear uno para fotolog, que tenga tres botones
uno para poner negritas, otro para poner cursiva y otro para subrayar
que funcionan con [ b ] y esos codigos que ya conocen