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

Foro Nube » Papelera

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

[PunBB] Error "NaN" en los likes del foro!

Creado por ,

Mensaje [Página 1 de 1.]

Srz

Publicado Mar 16 Dic - 21:25

Srz
Hola! Con una captura les puedo demostrar lo que pasa...

punbb  todas - [PunBB] Error "NaN" en los likes del foro! Vffbxh

Eso pasa al darle like a cualquier comentario...

A 0 usuarios le gusta esto
Ch@lo Valdez

Publicado Mar 16 Dic - 21:37

Ch@lo Valdez
ese error es porque el string no es numerico tienes el js para verlo?

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

Publicado Mar 16 Dic - 21:49

Srz
¡Por supuesto que si! Aca esta el codigo.

Código:
function BSLIKE(b, a) {
    var d = a.innerHTML;
    a.innerHTML = "Cargando...";
    a.onclick = "#";
    $.get(b, function() {
        a.className += " BS_done";
        a.innerHTML = d;
        var c = a.nextSibling,
            b = parseInt(/\d+/.exec(c.innerHTML)[0]) + 1;
        c.innerHTML = c.innerHTML.replace(/\d+/, b)
    })
};

function init_bs_like_system() {
    for (var x = $('.vote'), i = 0, vote;
        (vote = x[i++]);) {
        var count = 0,
            plus = 0,
            barra = $('.vote-bar', vote)[0],
            button = $('.vote-button', vote)[0];
        if (barra) {
            var info = (barra.title.match(/\d+/g)) ? barra.title.match(/\d+/g) : 0;
            console.log(info);
            plus = Math.round(parseInt(info[1]) * parseInt(info[0])) / 100
        }
        button = button ? '<span onclick="BSLIKE(\'' + button.firstChild.href + '\',this);" class="BS_like">Like!</span>' : '<span class="BS_like BS_done">Like!</span>';
        var votes_text = '<span class="BS_count">' + plus + ' ' + (plus == 1 ? bestskins_like.vote_singular : bestskins_like.vote_plural) + '</span>';
        var total_button = '<div class="BS_vote" style="margin:5px">' + button + votes_text + '</div>';
        if (bestskins_like.callback) bestskins_like.callback(vote, total_button)
    }
    x.remove()
};
bestskins_like.dom_ready ? init_bs_like_system() : $(function() {
    init_bs_like_system()
});

A 0 usuarios le gusta esto
Bret

Publicado Mar 23 Dic - 22:01

Bret
Administrador
¿Me puedes pasar un enlace al código original del autor? Veo que faltan partes de código.

Además, he entrado al foro y he visto dos errores en código JS por lo que puede que también sea eso el error.

A 0 usuarios le gusta esto
Srz

Publicado Mar 23 Dic - 22:27

Srz
Código:
function BSLIKE(b,a){var d=a.innerHTML;a.innerHTML="Cargando...";a.onclick="#";$.get(b,function(){a.className+=" BS_done";a.innerHTML=d;var c=a.nextSibling,b=parseInt(/\d+/.exec(c.innerHTML)[0])+1;c.innerHTML=c.innerHTML.replace(/\d+/,b)})};function init_bs_like_system(){for(var x=$('.vote'),i=0,vote;(vote=x[i++]);){var count=0,plus=0,barra=$('.vote-bar',vote)[0],button=$('.vote-button',vote)[0];if(barra){var info=barra.title.match(/\d+/g);plus=Math.round(parseInt(info[1])*parseInt(info[0]))/100}button=button?'<span onclick="BSLIKE(\''+button.firstChild.href+'\',this);" class="BS_like">Like!</span>':'<span class="BS_like BS_done">Like!</span>';var votes_text='<span class="BS_count">'+plus+' '+(plus==1?bestskins_like.vote_singular:bestskins_like.vote_plural)+'</span>';var total_button='<div class="BS_vote" style="margin:5px">'+button+votes_text+'</div>';if(bestskins_like.callback)bestskins_like.callback(vote,total_button)}x.remove()};bestskins_like.dom_ready?init_bs_like_system():$(function(){init_bs_like_system()});

¿Otros dos codigos tienen errores? me puedes decir cuales?

A 0 usuarios le gusta esto
Bret

Publicado Mar 23 Dic - 22:30

Bret
Administrador
Me estás pasando el mismo. Yo digo un enlace al sitio donde el autor original haya publicado el código.

El código que da error es el de la línea 28 y el de la línea 66.

A 0 usuarios le gusta esto
Srz

Publicado Mar 23 Dic - 22:45

Srz
Ese codigo me lo paso un compañero!

A 0 usuarios le gusta esto
Bret

Publicado Mar 23 Dic - 22:48

Bret
Administrador
Entonces vamos a comprobar si son los otros códigos que tienen error los que provocan que este no funcione. ¿Has sabido identificar los códigos JS de los que te hablé?

A 0 usuarios le gusta esto
Srz

Publicado Mar 23 Dic - 22:59

Srz
Pues, no, no se como identificar cuando un ecodigp anda mal, si este cumple su funcion para mi esta bien. :/ Y cuando otro deja de funcionar, no se porque es... Claro, si he metido uno recientemente y esto ocurre obvio este tiene error! :/ Supongo, no?

A 0 usuarios le gusta esto
Bret

Publicado Mar 23 Dic - 23:51

Bret
Administrador
No, a ver. Me refería si habías podido identificar el código o códigos que daba error con la información que te he dado (las líneas en las que se encuentran) puesto que deben estar en algún lugar de la plantilla viewtopic_body puesto que el error sólo aparece ahí.

A 0 usuarios le gusta esto
Srz

Publicado Miér 24 Dic - 0:04

Srz
No, pero el -view topic body tiene estos codigos, yo no se los meti, pero si manipule uno, tal vez alla hecho algo mal...
Código:

 //<![CDATA[
    jQuery(document).ready(function(){
        var target = $('.post:first');
        target.find('div.postbody').find('strong:contains("Relembrando a primeira mensagem")').closest('div.main-content.topic').hide();
        var imgdata = target.find('div.user-basic-info');
        var autor_dat = target.find('div.username');
        var autor_url = autor_dat.attr('href');
        var autor_txt = autor_dat.text();
        var date = target.find('span.data-post').html();
        var topic_title = '{TOPIC_TITLE}';
        var tags = topic_title.split(' ');
        var follow = '{S_WATCH_TOPIC}';
       
        $('.ipsUserPhotoLink.left').attr('href', imgdata.find('a').attr('href'));
        $('.ipsUserPhoto.ipsUserPhoto_medium').attr('src', imgdata.find('img').attr('src'));
        $('span[itemprop="creator"]').find('a').attr('title', autor_txt).attr('href', autor_url);
        $('span[itemprop="name"]').text(autor_txt);
        $('span[itemprop="dateCreated"]').html(date);
       
        /* Eliminar valores duplicados en el array!
        -> Si usted encuentra algo mejor que esto, por favor suguieralo.*/
        tags = tags.filter(
            function(a){
                if (!this[a]) {
                    this[a] = 1;
                    return a;
                }
            }
        );
        /* Establece búsqueda de etiquetas ...*/
        $.each(tags, function(index, data) {
            if(data.length > 4) {
                $('#tags_search').append(
                    '<a id="tag_search_' + index + '" class="ipsTag" title="Localizar mas Aportes con la tag ' + data + '" href="/search?search_keywords=' + data + '">' +
                    '    <span>' + data + '</span>' +
                    '</a>'
                );
            }
        });
        /* Whatch topic */
        <!-- BEGIN switch_user_logged_in -->
       
        <!-- END switch_user_logged_in -->
       
        var target = $('.main-content.topic').find('div.post');
        target.each(function(index) {
            var oThis = $(this);
            var userImg = oThis.find('div.user-basic-info a');
            var memberTitle = oThis.find('p.desc.member_title');
            var urlID = oThis.find('.username a').attr('href');
            var target = oThis.find('div.user-basic-info').text();
            var IsSuper = (target.search(/administrador/i) + 1) + (target.search(/moderador/i) + 1) + (target.search(/punbb/i) + 1);
            /* Sets default avatar... */
            if (userImg.find('img').length == 0) {
                userImg.html('<img src="http://i78.servimg.com/u/f78/18/17/62/92/defaul10.png" alt="User image">');
            }
         
                } else {
                    if(userTitle != '-') {memberTitle.text(userTitle);}
                }
                /*conjuntos de estado*/
                /*console.log($.trim($('#user_status', data).text()));*/
                if($.trim($('#user_status', data).text()) == 'conectado') {
                    oThis.find('span.ipsBadge').html('online').addClass('ipsBadge_green').removeClass('ipsBadge_lightgrey');
                } else {
                    oThis.find('span.ipsBadge').html('offline').addClass('ipsBadge_lightgrey').removeClass('ipsBadge_green');
                };
            });
        });
    });
    /* Editar Mensajes*/
    function edit_message(topic_ID, post_ID){
        /* This load and read all form fields ¯| */
        $('#' + topic_ID).load('/post?p=' + post_ID + '&mode=editpost' + ' .main .frm-form', function() {
            var msgID = $('#' + topic_ID);
            msgID.find('.main-head.clearfix').remove();
            msgID.find('.frm-set.multi > dl').hide();
            msgID.find('#textarea_content dt:last').show();
            msgID.find('.frm-set.multi').css('border-bottom', '0px');
            msgID.find('.frm-set > dl').hide();
            msgID.find('.frm-buttons').css('border-top', '0');
            msgID.find('.main').hide();
            msgID.find('.frm-form').attr('target','iframe_' + post_ID).submit(function(){var time=setTimeout("edited()",1000);});
            msgID.find('input[name=post]').css('margin-left', '-225px');
            msgID.find('input[name=preview]').css('margin-left', '120px').attr('value', 'Cancelar');
        });
    }
    function edited(){window.location.reload()}     
    //]]>

A 0 usuarios le gusta esto
Bret

Publicado Miér 24 Dic - 11:59

Bret
Administrador
Prueba así:

Código:
//<![CDATA[
    jQuery(document).ready(function(){
        var target = $('.post:first');
        target.find('div.postbody').find('strong:contains("Relembrando a primeira mensagem")').closest('div.main-content.topic').hide();
        var imgdata = target.find('div.user-basic-info');
        var autor_dat = target.find('div.username');
        var autor_url = autor_dat.attr('href');
        var autor_txt = autor_dat.text();
        var date = target.find('span.data-post').html();
        var topic_title = '{TOPIC_TITLE}';
        var tags = topic_title.split(' ');
        var follow = '{S_WATCH_TOPIC}';
     
        $('.ipsUserPhotoLink.left').attr('href', imgdata.find('a').attr('href'));
        $('.ipsUserPhoto.ipsUserPhoto_medium').attr('src', imgdata.find('img').attr('src'));
        $('span[itemprop="creator"]').find('a').attr('title', autor_txt).attr('href', autor_url);
        $('span[itemprop="name"]').text(autor_txt);
        $('span[itemprop="dateCreated"]').html(date);
     
        /* Eliminar valores duplicados en el array!
        -> Si usted encuentra algo mejor que esto, por favor suguieralo.*/
        tags = tags.filter(
            function(a){
                if (!this[a]) {
                    this[a] = 1;
                    return a;
                }
            }
        );
        /* Establece búsqueda de etiquetas ...*/
        $.each(tags, function(index, data) {
            if(data.length > 4) {
                $('#tags_search').append(
                    '<a id="tag_search_' + index + '" class="ipsTag" title="Localizar mas Aportes con la tag ' + data + '" href="/search?search_keywords=' + data + '">' +
                    '    <span>' + data + '</span>' +
                    '</a>'
                );
            }
        });
        /* Whatch topic */
        <!-- BEGIN switch_user_logged_in -->
     
        <!-- END switch_user_logged_in -->
     
        var target = $('.main-content.topic').find('div.post');
        target.each(function(index) {
            var oThis = $(this);
            var userImg = oThis.find('div.user-basic-info a');
            var memberTitle = oThis.find('p.desc.member_title');
            var urlID = oThis.find('.username a').attr('href');
            var target = oThis.find('div.user-basic-info').text();
            var IsSuper = (target.search(/administrador/i) + 1) + (target.search(/moderador/i) + 1) + (target.search(/punbb/i) + 1);
            /* Sets default avatar... */
            if (userImg.find('img').length == 0) {
                userImg.html('<img src="http://i78.servimg.com/u/f78/18/17/62/92/defaul10.png" alt="User image">');
            } else {
                    if(userTitle != '-') {memberTitle.text(userTitle);}
                }
                /*conjuntos de estado*/
                /*console.log($.trim($('#user_status', data).text()));*/
                if($.trim($('#user_status', data).text()) == 'conectado') {
                    oThis.find('span.ipsBadge').html('online').addClass('ipsBadge_green').removeClass('ipsBadge_lightgrey');
                } else {
                    oThis.find('span.ipsBadge').html('offline').addClass('ipsBadge_lightgrey').removeClass('ipsBadge_green');
                };
            });
    });
    /* Editar Mensajes*/
    function edit_message(topic_ID, post_ID){
        /* This load and read all form fields ¯| */
        $('#' + topic_ID).load('/post?p=' + post_ID + '&mode=editpost' + ' .main .frm-form', function() {
            var msgID = $('#' + topic_ID);
            msgID.find('.main-head.clearfix').remove();
            msgID.find('.frm-set.multi > dl').hide();
            msgID.find('#textarea_content dt:last').show();
            msgID.find('.frm-set.multi').css('border-bottom', '0px');
            msgID.find('.frm-set > dl').hide();
            msgID.find('.frm-buttons').css('border-top', '0');
            msgID.find('.main').hide();
            msgID.find('.frm-form').attr('target','iframe_' + post_ID).submit(function(){var time=setTimeout("edited()",1000);});
            msgID.find('input[name=post]').css('margin-left', '-225px');
            msgID.find('input[name=preview]').css('margin-left', '120px').attr('value', 'Cancelar');
        });
    }
    function edited(){window.location.reload()}   
    //]]>

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

Publicado Lun 29 Dic - 23:38

Srz
Ya coloque el codigo que me pasaste, pero persiste el problema "NaN" :/

A 0 usuarios le gusta esto
Bret

Publicado Miér 31 Dic - 0:38

Bret
Administrador
¿Si eliminas la plantilla entera funciona?

A 0 usuarios le gusta esto
Srz

Publicado Miér 31 Dic - 5:32

Srz
Pues, sale el "NaN" a los comentarios que ya les he dado "Like" pero a los demás dicen por defecto "0 likes"

A 0 usuarios le gusta esto
Bret

Publicado Miér 31 Dic - 12:29

Bret
Administrador
No has respondido a mi pregunta.

A 0 usuarios le gusta esto
Srz

Publicado Miér 31 Dic - 18:10

Srz
Elimine la Plantilla y la puse por defecto y aun sale NaN!

A 0 usuarios le gusta esto
Bret

Publicado Miér 31 Dic - 18:13

Bret
Administrador
¿El código que has colocado es el original del autor o lo has modificado?

A 0 usuarios le gusta esto
Srz

Publicado Miér 31 Dic - 23:45

Srz
No lo se, ya te lo dije, ese codigo me lo dio un compañero!

A 0 usuarios le gusta esto
Bret

Publicado Sáb 3 Ene - 1:22

Bret
Administrador
Bueno, pues a ver. Yo veo que no me estás pasando todo. Con el código que me has pasado es imposible hacer funcionar el sistema de me gusta en el foro. Necesito el código completo, por lo menos para poder probarlo en mi foro de pruebas.

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

Publicado Sáb 3 Ene - 1:29

Srz
Mira. lo que pude encontrar fue lo siguiente, y rogándole al compañero que me lo paso.

Código:
var bestskins_like={dom_ready:false,vote_singular:'Like!',vote_plural:'Likes!',callback:function(vote,btn){$('.postfoot',vote.parentNode.parentNode.parentNode.parentNode).before(btn)}};$(function(){bestskins_like.dom_ready=true});$.getScript('http://proyecto4reyes.googlecode.com/svn/trunk/funcion-like.js');

Ahi esta el Codigo, tiene un HotLink como puedes ver...

A 0 usuarios le gusta esto
Bret

Publicado Sáb 3 Ene - 1:37

Bret
Administrador
Qué rabia me da este tipo de gente que intenta ocultar los JavaScripts.

Borra todo lo que tenga que ver con estos JS y coloca el siguiente. Es el mismo pero más limpio:

Código:
var bestskins_like = {
    dom_ready: false,
    vote_singular: 'Like!',
    vote_plural: 'Likes!',
    callback: function(vote, btn) {
        $('.postfoot', vote.parentNode.parentNode.parentNode.parentNode).before(btn)
    }
};
$(function() {
    bestskins_like.dom_ready = true
});

function BSLIKE(b, a) {
    var d = a.innerHTML;
    a.innerHTML = "Cargando...";
    a.onclick = "#";
    $.get(b, function() {
        a.className += " BS_done";
        a.innerHTML = d;
        var c = a.nextSibling,
            b = parseInt(/\d+/.exec(c.innerHTML)[0]) + 1;
        c.innerHTML = c.innerHTML.replace(/\d+/, b)
    })
};

function init_bs_like_system() {
    for (var x = $('.vote'), i = 0, vote;
        (vote = x[i++]);) {
        var count = 0,
            plus = 0,
            barra = $('.vote-bar', vote)[0],
            button = $('.vote-button', vote)[0];
        if (barra) {
            var info = barra.title.match(/\d+/g);
            plus = Math.round(parseInt(info[1]) * parseInt(info[0])) / 100
        }
        button = button ? '<span onclick="BSLIKE(\'' + button.firstChild.href + '\',this);" class="BS_like">Like!</span>' : '<span class="BS_like BS_done">Like!</span>';
        var votes_text = '<span class="BS_count">' + plus + ' ' + (plus == 1 ? bestskins_like.vote_singular : bestskins_like.vote_plural) + '</span>';
        var total_button = '<div class="BS_vote" style="margin:5px">' + button + votes_text + '</div>';
        if (bestskins_like.callback) bestskins_like.callback(vote, total_button)
    }
    x.remove()
};
bestskins_like.dom_ready ? init_bs_like_system() : $(function() {
    init_bs_like_system()
});

Yo lo acabo de colocar en mi foro de pruebas y funciona a la perfección.

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

Publicado

A 0 usuarios le gusta esto

Con la tecnología de Foroactivo y punBB