elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: [1]
1  Programación / Desarrollo Web / Propuesta abierta en: 3 Enero 2012, 01:36 am
Para todos los desarrolladores que estén interesados:

Me he propuesto hacer un sistema web de gestión bajo mi propio framework. Usare el paradigma MODELO VISTA CONTROLADOR.
En el modelo usaré Firebird, un SGBDR potente, libre, multiplataforma, probado con excelentes resultados en Windows y en Ubuntu Linux (prefiero los entornos Linux toda vez que las licencias son un problema).
Hay herramientas poderosas para modelado ER con Firebird como IBExpert lo que me permite hacer ingenieria directa e inversa muy facilmente.
En el controlador utilizo Java, consiste de Servlet y algunas clases muy simples que funcionan bajo un servidor Glassfish (servidor web muy seguro)
En las vistas uso una clase AJAX para comunicarme con el servidor de forma asíncrona solicitando archivos de texto que son parseados (segmentados y analizados) e insertados en una única página html (que en realidad es una página JSP muy simple). Todos los segmentos HTML + CSS + javascript residen en servidor en formato texto y son ensamblados por la aplicación Java. Para trabajar con Java + HTML + CSS + javascript etc, uso NetBeans y mi PC para desarrollo tiene actualmente UBUNTU 10.04

Lo tengo bosquejado al proyecto pero aún hay puntos oscuros por resolver. Si en esta comunidad hay interesados en sumarse a este proyecto lo haré público y compartiré cada uno de los módulos con las explicaciones paso a paso para hacer andar todo, sólo requiero de parte de los interesado un compromiso para hacer algo práctico que se pueda compartir libremente.

TE SUMAS? :)
2  Programación / Desarrollo Web / problema con rutinas javascript agregadas dinamicamente en: 30 Diciembre 2011, 14:57 pm
Inserto bloques HTML + CSS + javascript en forma dinámica dentro de una página html. Dentro del bloque javascript hay variables o funciones que no se actualizan.
La página html principal es:

*******************************************************************

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="StyleSheet" href="css/estilos.css" type="text/css">
        <script type="text/javascript" src="js/dhtml.js"></script>
        <link rel="stylesheet" href="css/style.css" />
        <title>Principal</title>
    </head>
    <body>
        <input type="button" value="Probar" name="prueba1" onClick="insertar();"/>
        <div id="aqui"></div>
    </body>
</html>

*******************************************************************

cuando oprimo el boton puesto en esta página se ejecuta este otro archivo javascript
dhtml.js

*******************************************************************

function bjJS() {
    bloque = '';
    bloque += 'var sorter = new TINY.table.sorter("sorter");';
    bloque += 'sorter.head = "head";';
    bloque += 'sorter.asc = "asc";';
    bloque += 'sorter.desc = "desc";';
    bloque += 'sorter.even = "evenrow";';
    bloque += 'sorter.odd = "oddrow";';
    bloque += 'sorter.evensel = "evenselected";';
    bloque += 'sorter.oddsel = "oddselected";';
    bloque += 'sorter.paginate = true;';
    bloque += 'sorter.currentid = "currentpage";';
    bloque += 'sorter.limitid = "pagelimit";';
    bloque += 'sorter.init("table",1);';
    return bloque;
}

function blHTML() {
    bloque = '';
    bloque += '<table cellpadding="0" cellspacing="0" border="0" id="table" class="sortable">';
    bloque += '<thead>';
    bloque += '<tr>';
    bloque += '<th class="nosort"><h3>ID</h3></th>';
    bloque += '<th><h3>Name</h3></th>';
    bloque += '<th><h3>Phone</h3></th>';
    bloque += '<th><h3>Email</h3></th>';
    bloque += '<th><h3>Zip</h3></th>';
    bloque += '<th><h3>Birthdate</h3></th>';
    bloque += '<th><h3>Last Access</h3></th>';
    bloque += '<th><h3>Rating</h3></th>';
    bloque += '<th><h3>Done</h3></th>';
    bloque += '<th><h3>Salary</h3></th>';
    bloque += '<th><h3>Score</h3></th>';
    bloque += '</tr>';
    bloque += '</thead>';
    bloque += '<tbody>';
    bloque += '<tr>';
    bloque += '<td>1</td>';
    bloque += '<td>Ezekiel Hart</td>';
    bloque += '<td>(627) 536-4760</td>';
    bloque += '<td><a href="mailto:#">tortor@est.ca</a></td>';
    bloque += '<td>53082</td>';
    bloque += '<td>12/02/1962</td>';
    bloque += '<td>March 26, 2009</td>';
    bloque += '<td>-7</td>';
    bloque += '<td>7%</td>';
    bloque += '<td>$73,229</td>';
    bloque += '<td>6.9</td>';
    bloque += '</tr>';
    bloque += '<tr>';
    bloque += '<td>50</td>';
    bloque += '<td>Eden Burks</td>';
    bloque += '<td>(576) 196-6013</td>';
    bloque += '<td><a href="mailto:#">lorem@magna.com</a></td>';
    bloque += '<td>30822</td>';
    bloque += '<td>02/27/1964</td>';
    bloque += '<td>April 27, 2002</td>';
    bloque += '<td>3</td>';
    bloque += '<td>6%</td>';
    bloque += '<td>$109,631</td>';
    bloque += '<td>2.5</td>';
    bloque += '</tr>';
    bloque += '</tbody>';
    bloque += '</table>';
    bloque += '<div id="controls">';
    bloque += '<div id="perpage">';
    bloque += '<select onchange="sorter.size(this.value)">';
    bloque += '<option value="5">5</option>';
    bloque += '<option value="10" selected="selected">10</option>';
    bloque += '<option value="20">20</option>';
    bloque += '<option value="50">50</option>';
    bloque += '<option value="100">100</option>';
    bloque += '</select>';
    bloque += '<span>Lineas por página</span>';
    bloque += '</div>';
    bloque += '<div id="navigation">';
    bloque += '<img src="img/first.gif"    width="16" height="16" alt="First Page" onclick="sorter.move(-1,true)" />';
    bloque += '<img src="img/previous.gif" width="16" height="16" alt="First Page" onclick="sorter.move(-1)"      />';
    bloque += '<img src="img/next.gif"     width="16" height="16" alt="First Page" onclick="sorter.move(1)"       />';
    bloque += '<img src="img/last.gif"     width="16" height="16" alt="Last Page"  onclick="sorter.move(1,true)"  />';
    bloque += '</div>';
    bloque += '<div id="text">Pagina <span id="currentpage"></span> de <span id="pagelimit"></span></div>';
    bloque += '</div>';
    return bloque;
}

function insertar() {
    area = document.getElementById('aqui');
    area.innerHTML = blHTML();
   
    v2 = document.createElement('script');
    v2.setAttribute('type','text/javascript');
    v2.setAttribute('src','js/script.js');
    document.getElementsByTagName('body').item(0).appendChild(v2);           
   
    v3 = document.createElement('script');
    v3.setAttribute('type','text/javascript');
    v3n = document.createTextNode(bjJS());
    v3.appendChild(v3n);   
    document.getElementsByTagName('body').item(0).appendChild(v3);           
}

*******************************************************************

la funcion insertar agrega un bloque HTML con innerhtml
agrega una referencia a un archivo externo javascript dentro del BODY
y agrega un segmento java script dentro del BODY

Si lo ejecuto con Firefox 3.0 funciona bien, pero con Firefox 9.0 es necesario oprimir por segunda vez el boton para que se activen las funcionalidades de esta tabla.
Es como que necesitara refrescarse algo, o es que estoy haciendo algo mal?
Gracias por sus comentarios :rolleyes:
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines