Cargando...
Rango
Sexo
Mensajes
Última visita
Miembro desde

Foro Nube » Servicios » Soporte Foroactivo

Foro Cerrado
Este foro se encuentra cerrado de forma indefinida. Puedes utilizarlo para revisar material antiguo que desees recuperar.

[PHPBB3] Botón "seleccionar todo" en code y problemas con la chatbox

Creado por ,

Mensaje [Página 1 de 1.]

Chinpo

Publicado Dom 21 Sep - 0:49

Chinpo
Bueno, antes de abrir dos hilos (¡más!) y spamear el subforo (¡¡más!!) prefiero condensar mis dudas en uno solo.

La primera es cómo poner el botón de "Seleccionar todo" en el apartado de code de mi foro para facilitar la selección del mismo.

El segundo es algo más peliagudo. Resulta que en mi foro tengo una CB y el color por defecto al escribir es el mismo que el del fondo de la cajita donde se escribe. Al ir al CSS, no encuentro nada sobre la chatbox, o bien no viene debidamente indicado o directamente no va ahí, pero tampoco veo nada de eso en los javascript ni en el módulo "chatbox" en el PA.

Si sirve de algo para ubicar el código, la chatbox está en una esquina y se abre si pinchas sobre ella.

¡Gracias de antemano! ^^

A 0 usuarios le gusta esto
craz-y

Publicado Dom 21 Sep - 1:08

craz-y
¡Hola, Chinpo!

Respecto a tu primera duda, yo siempre uso el siguiente. Se debe colocar en un widget, con "Tabla Tipo : No"; y donde dice "Seleccionar todo el contenido" puedes cambiar el texto que quieras que aparezca (:

Código:
    <script>function selectCode(a)
    {
    // Get ID of code block
    var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0];

    // Not IE
    if (window.getSelection)
    {
    var s = window.getSelection();
    // Safari
    if (s.setBaseAndExtent)
    {
    s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
    }
    // Firefox and Opera
    else
    {
    // workaround for bug # 42885
    if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) == '<BR>')
    {
    e.innerHTML = e.innerHTML + ' ';
    }

    var r = document.createRange();
    r.selectNodeContents(e);
    s.removeAllRanges();
    s.addRange(r);
    }
    }
    // Some older browsers
    else if (document.getSelection)
    {
    var s = document.getSelection();
    var r = document.createRange();
    r.selectNodeContents(e);
    s.removeAllRanges();
    s.addRange(r);
    }
    // IE
    else if (document.selection)
    {
    var r = document.body.createTextRange();
    r.moveToElementText(e);
    r.select();
    }
    }
    if(text){}else{ var text = 'Selecionar todos';}
    jQuery(document).ready(function(){
    jQuery("dl.codebox dt").not("dl.spoiler > dt").html('Code: <a href="#" onclick="selectCode(this); return false;"><font face="verdana" color="white"></font>Seleccionar todo el contenido</a>');
    });
    </script>

Yendo a la siguiente duda, si lo he entendido bien, entonces el problema puede resolverse con un CSS.

Código:
#chatbox_messenger_form input[type="text"] { font-size: 10px; border: none;color: #fff;}

Espero te sirvaa (:

A 0 usuarios le gusta esto
Me gustaReputación del mensaje :100% (1 voto)
Chinpo

Publicado Dom 21 Sep - 1:22

Chinpo
Lo primero no funciona, lo segundo sí. ¡Gracias! Te llevas mi like por la ayuda ^^

A 0 usuarios le gusta esto
craz-y

Publicado Dom 21 Sep - 1:31

craz-y
Uy, lo acabo de probar en mi foro y sí funciona xdd. ¿Si pusiste visible el widget? Es decir, lo creas, registras, y luego lo buscas en Widgets personales, arrastrándolo hasta arribita para hacerlo visible. De no ser eso, entonces no se me ocurre por qué no pueda funcionar, lo siento Triste De cualquier modo, me alegra que el segundo si te haya servido <3.

A 0 usuarios le gusta esto
Me gustaReputación del mensaje :100% (1 voto)
Chinpo

Publicado Dom 21 Sep - 2:09

Chinpo
Vale, ya funciona haciendo lo que has dicho tú xD muchas gracias ^^

Un par de cositas más antes de mandarlo a cerrar: ¿para poner comentarios en el script que me has pasado? Es que quiero darte crédito.

Y otra cosa, ¿el code para que la cb te de notificaciones va en JS o también en widget? Lo que tengo es esto

Código:
$(function() {
  setTimeout(function() {
    for(var c = 0, a = 0;a < window.frames.length;a++) {
      try {
        "/chatbox/index.forum" == eval("window.frames[a].location.pathname") && ++c && window.frames[a].eval('function ajax_refresh_chatbox(b,c){if(""==b||void 0==b)b="?achives=0";if(window.XMLHttpRequest)var a=new XMLHttpRequest;else window.ActiveXObject&&(a=new ActiveXObject("Microsoft.XMLHTTP"));a.onreadystatechange=function(){if(4==a.readyState&&200==a.status&&(eval(a.responseText),chatbox_last_update>chatbox_updated||c))null!=document.getElementById("chatbox").innerHTML&&chatbox_messages_old!=chatbox_messages&&(my_setcookie("CNM",1,1,0),chatbox_messages_old=document.getElementById("chatbox").innerHTML=chatbox_messages,document.getElementById("chatbox").scrollTop=document.getElementById("chatbox").scrollHeight+document.getElementById("chatbox").offsetHeight,document.getElementById("chatbox").scrollTop=999999),null!=document.getElementById("chatbox_members").innerHTML&&(document.getElementById("chatbox_members").innerHTML=chatbox_memberlist),chatbox_updated=chatbox_last_update};a.open("GET","/chatbox/chatbox_actions.forum"+b+"&mode=refresh",!0);a.send(null)};$(window).focus(function(){my_setcookie("CHF",1,1,0);my_setcookie("CNM","",0,0)}).blur(function(){my_setcookie("CHF","",0,0);my_setcookie("CNM","",0,0)}).trigger("focus");')
      }catch(d) {
      }
    }
    0 < c && function() {
      $(window).focus(function() {
        my_setcookie("CHF", 1, 1, 0);
        my_setcookie("CNM", "", 0, 0)
      }).blur(function() {
        my_setcookie("CHF", "", 0, 0);
        my_setcookie("CNM", "", 0, 0)
      }).trigger("focus");
      var a = document.title, b = function() {
        !my_getcookie("CHF") && my_getcookie("CNM") ? (document.title = a == document.title ? " Tienes que remover el caldero " : a, setTimeout(b, 300)) : (document.title = a, setTimeout(b, 5E3))
      };
      b()
    }()
  }, 5E3)
});
¡Gracias de nuevo!

A 0 usuarios le gusta esto
craz-y

Publicado Dom 21 Sep - 2:34

craz-y
¡Muy bien! Qué bueno que ahora sí funcione <3. Con respecto a tu primera duda, eso sí no tengo idea de cómo hacerlo :$. La verdad creo que no es posible, salvo modificar el texto de "seleccionar todo el contenido" :c. Y sobre la otra duda, aunque no sabía que la CB podía dar notificaciones, ese código va en JS, según mis conocimientos <3. Lamento no poder ayudar ésta vez demasiado :c. ¡No hay por qué!

A 0 usuarios le gusta esto
Me gustaReputación del mensaje :100% (1 voto)
Chinpo

Publicado Dom 21 Sep - 2:46

Chinpo
Vale, lo del comentario es lo de las dos barras, ej: // Not IE

Sobre la segunda duda, lo tengo puesto en js pero no funciona =S

Edito: ¿Es normal que en quotes y hides aparezca también lo de seleccionar todo el texto?

A 0 usuarios le gusta esto
craz-y

Publicado Dom 21 Sep - 4:17

craz-y
Ay Triste ¿Dónde has puesto la visibilidad del code? Se debe poner en JavaScript, y donde te piden su posición, le das en 'Índice' (: Referente a la otra duda, si te refieres a los comentarios que se pueden poner en los CSS, es '/*comentario aquí*/' <3.

PD. No es muy normal que salga en quotes, pues éste texto, solo aparece en Code y Hide Inocente

A 0 usuarios le gusta esto
Me gustaReputación del mensaje :100% (1 voto)
Chinpo

Publicado Dom 21 Sep - 4:44

Chinpo
En quotes no sale, pero en hide sí. El caso es que sólo quiero que salga en code. ¿Se puede hacer?/¿Cómo lo hago?

P.D.: El code este (el que he pegado de la cb) no funciona u_ù

A 0 usuarios le gusta esto
Bret

Publicado Dom 21 Sep - 11:44

Bret
Administrador
A ver, el código JS no lo pongas en un módulo. Simplemente le quitas las partes del HTML (en este caso las etiquetas <script>) y lo pegas en un JS para todas las páginas de la siguiente forma:

Código:
function selectCode(a) {
    var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0];
    if (window.getSelection) {
        var s = window.getSelection();
        if (s.setBaseAndExtent) {
            s.setBaseAndExtent(e, 0, e, e.innerText.length - 1)
        } else {
            if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) == '<BR>') {
                e.innerHTML = e.innerHTML + ' '
            }
            var r = document.createRange();
            r.selectNodeContents(e);
            s.removeAllRanges();
            s.addRange(r)
        }
    } else if (document.getSelection) {
        var s = document.getSelection();
        var r = document.createRange();
        r.selectNodeContents(e);
        s.removeAllRanges();
        s.addRange(r)
    } else if (document.selection) {
        var r = document.body.createTextRange();
        r.moveToElementText(e);
        r.select()
    }
}
if (text) {} else {
    var text = 'Selecionar todos'
}
jQuery(document).ready(function() {
    jQuery("dl.codebox:not(.hidecode) dt").not("dl.spoiler > dt").html('Code: <a href="#" onclick="selectCode(this); return false;"><font face="verdana" color="white"></font>Seleccionar todo el contenido</a>')
});

Eso ya debería funcionar solo en los [CODE].

El código del chatbox debes pegarlo en una página JS y marcarlo para el índice. Si aún así no te funciona necesito que me pases el foro donde lo estás intentando colocar.

A 0 usuarios le gusta esto
Me gustaReputación del mensaje :100% (1 voto)
Chinpo

Publicado Dom 21 Sep - 13:22

Chinpo
Si lo pongo en JS no sale, si lo pongo en widget sí...

A 0 usuarios le gusta esto
Bret

Publicado Dom 21 Sep - 13:40

Bret
Administrador
Da igual, las cosas deben ir bien si lo pones ahí. Eso quiere decir que tienes otro JS que está mal programado. Si me pasas la dirección lo miro.

A 0 usuarios le gusta esto
Kaylee

Publicado Dom 5 Oct - 12:35

Kaylee
Cierro por inactividad.

A 0 usuarios le gusta esto
Contenido patrocinado

Publicado

A 0 usuarios le gusta esto

Con la tecnología de Foroactivo y punBB