OT. Problema para todos los que ocupan AJAX
Horacio Degiorgi
horaciod en gmail.com
Lun Mar 6 23:35:57 CLST 2006
no he mirado tu codigo pero se puede evitar el mensaje de alerta
usando las propiedades que aparecen en el about:config de firefox
este articulo detalla como http://kb.mozillazine.org/Dom.max_script_run_time
saludos
Horaciod
On 3/6/06, Armando Maldonado G. <amaldonado en dportales.cl> wrote:
> Tengo un problema mas menos serio resulta que estoy desarrollando una
> aplicación intranet, ocupo javascript, el problema es que cuando ejecuto
> alguna función que tarde mucho en su ejecución (osea que llene mas menos
> unos 150 controles) en firefox me sale una advertencia que me dice
> Detener Script o Continuar, esa simple adventencia me tiene en problemas
> por que inmaginate que le salga eso a una secretaria, no va tener idea
> que hacer, sobre caching javascript ya lo probé aunque haga caching
> igual tendré que crear funciones que se demorarán más algún día, si
> alguién sabe algo como solucionar este problema, adémas es un problema
> para todos los que ocupan AJAX.
>
> acuerdense que antes en lenguajes antiguos llenavamos listas gigantescas
> de 3000 lineas y ningún problema...
>
>
> mando script que le echen una miradita..
>
> if (isset($_POST['op'])) {
> header('Content-Type: text/plain; charset=UTF-8');
> $varSer = $serializador->newPacket();
>
> switch ( $_POST['op'] )
> {
> case $_POST['op']=='buscar_productos':
> $bien_servicio_lista=bien_servicio_lista(1,0, $_POST['id_mbi']);
> $serializador->addVars($varSer,"bien_servicio_lista",$bien_servicio_lista);
> break;
> }
> echo $serializador->endPacket($varSer);
> exit();
> }
> ///<-- BLOQUE DE ACCIONES A LA DB (1)/
>
> include SISTEMA_PATH.'/encabezado.php'; ///Abre interfase web/
> *?>*
> /<!--BLOQUE JAVASCRIPT (2)-->/
> *<script* language="javascript"*>*
>
> *function* buscar_productos() {
> *var* url = '*<?php* echo SISTEMA_URL."/modulos/comercial/";*?>*ejemplo_patricio.php';
> top.js.ref_datos (document,{url:url,parameters:{op:'buscar_productos',id_mbi:1},callBackFunction:mostrar_productos});
> }
>
> *function* mostrar_productos(datos) {
> *var* items_b=document.getElementById('items_b').value;
> *var* j=0;
> *if* (datos["bien_servicio_lista"] && !top.js.empty(datos["bien_servicio_lista"])) {
> *for* (t=1;t<5;t++) {
> *for* (*var* i *in* datos["bien_servicio_lista"]) {
> *do* {
> j=j+1;
> *if* (j>items_b) {
> top.js.tableInsertRow(document, 'detalle_b', 'b0', 'items_b', *true*, -1 );
> }
> } *while* (!document.getElementById('id_bie_'+j))
> document.getElementById('id_bie_'+j).value = j;
> document.getElementById('nombre_bie_'+j).value = datos["bien_servicio_lista"][i]['nombre_bie'];
> }
> }
> } *else* {
> alert('arreglo vacio');
> }
> limpiar_productos(j+1,items_b);
> }
>
> *function* limpiar_productos(ini,fin) {
> *for* (i=ini; i<=fin; i++) {
> *if* (document.getElementById('id_bie_'+i)) {
> document.getElementById('id_bie_'+i).value = '';
> document.getElementById('nombre_bie_'+i).value = '';
> }
> }
> }
>
> *</script>*
> /<!--BLOQUE HTML (3)-->/
>
> *<form* name="formulario1" *>*
>
> *<input* type="button" name="bbuscar_productos" id="bbuscar_productos" value="Buscar Productos" onClick="buscar_productos();"*>*
>
> *<table* width="100%" border="0" cellpadding="2" cellspacing="0"*>*
> *<tr* height="11px"*>*
> *<th* align="center" colspan="5" class="th2"*>*Produtos*</th>*
> *</tr>*
> *<tr* align="center"*>*
> *<td* class="th2" width="25%"*><b>*id_bie*</b></td>*
> *<td* class="th2" width="34%"*><b>*nombre_bie*</b></td>*
> *<td* class="th2" width="5%"*><b>*Eli*</b></td>*
> *</tr>*
> *<tr>*
> *<td* colspan="5"*>*
> *<input* type="hidden" name="items_b" id="items_b" value="0"*>*
> *<table* width="100%" border="1" cellpadding="0" cellspacing="0"*>*
> *<tr>*
> *<td* width="100%" height="168px" align="center"*>*
> *<div* class="bloque_scroll"*>*
> *<table* width="99%" border="1" cellpadding="1" cellspacing="0" align="center"*>*
> *<tbody* id="detalle_b"*>*
> *<tr* class="*<?php* echo tabla_estilo();*?>*" align="center" id="b0"*>*
> *<td* width="25%" nowrap*>*
> *<input* type="text" name="id_bie_0" id="id_bie_0" size="15" onblur="javascript: this.value = this.value.toUpperCase();buscar_bien_accesorio(this.value,4+' '+3,this.parentNode.parentNode.id);"*>*
> *</td>*
> *<td* width="35%" nowrap*>*
> *<input* type="text" name="nombre_bie_0" id="nombre_bie_0" maxlength="200" size="25" *>*
> *</td>*
> *<td* width="5%" nowrap*>*
> *<img* src="*<?php* echo icono("actions/button_cancel.png");*?>*" width="13" title="Doble Click para Eliminar el Item" ondblclick="javascript: document.getElementById('detalle_b').deleteRow(this.parentNode.parentNode.rowIndex);"*>*
> *</td>*
> *</tr>*
> *</tbody>*
> *</table>*
> *</div>*
> *</td>*
> *</tr>*
> *</table>*
> *<script* language="JavaScript"*>*document.getElementById("b0").style.display = 'none';*</script>*
> *<div* align="right"*>*
> *<button* type="button" onClick="top.js.tableInsertRow(document, 'detalle_b', 'b0', 'items_a', true, -1 );"*>*Nuevo Item*<img* src="*<?php* echo icono("actions/wizard.png");*?>*" *></button>*
> *</div>*
> *</td>*
> *</tr>*
> *</table>*
>
> *</form>*
>
>
> --
> _____________________________________________________
> Armando Maldonado Gómez
> Mails: amaldonado en dportales.cl, amaldonado en ursm.cl
> MSN: armando_maipu en hotmail.com
> Movil: 91240070
> Ingeniero de soporte de Organización Educacional Diego Portales
> Teléfono 56-41-910252 Anexo 225 * Fax 56-41-910252 Anexo 224
> Ingeniero de soporte de Universidad Regional San Marcos
> Teléfono 56-41-917804
> Asesor Informático de Autofrance Ltda.
> Teléfono 56-41-405216
> Representante Legal Treikkystem
> Teléfono/FAX 997200
> User # 245202 counter.li.org
> Concepción - Chile.
>
>
--
Horacio Degiorgi
http://blog.codigophp.com
Mendoza - Argentina
Más información sobre la lista de distribución Linux