PDA

Ver la Versión Completa : Funciones en Javascript


gatsu
31-01-2005, 18:57:36
Hola,

Veamos como me explico para que me entendáis...

Se trata de un javascript que hay en una página que he incluido en mi web mediante un iframe.

En esa página, hay una funcion llamada funcion();
Lo que me gustaría saber, es cómo anular esa función mediante algún javascript en mi página.

Gracias de antemano.

__hector
31-01-2005, 20:22:07
que hace la funcion? por que quieres anularla ?

gatsu
02-02-2005, 10:14:16
lo que hace es abrir una ventana nueva.
y quiero anularla pa k no salga la ventana...
logico no?

__hector
02-02-2005, 15:46:39
no es posible.

Lo que si puedes es contrarrestarla

Emilio
03-02-2005, 22:47:03
Esto me suena a querer intentar eliminar esos popups que lanzan los servidores gratuitos, envía el código y tal vez entendamos exactamente que pretendes hacer.

gatsu
04-02-2005, 13:40:08
exacto, contrarrestar la funcion es lo que quiero hacer.

el código es:

<script>

function modelesswin(url,mwidth,mheight){
if (document.all&&window.print)
eval('window.showModelessDialog(url,"","help:0;resizable:1;dialogWidth:'+mwidth+'px;dialogHeight:'+mheight+'px")')
else
eval('window.open(url,"","width='+mwidth+'px,height='+mheight+'px,toolbar=0,location=0,directories=0,status=0, menubar=0,scrollbars=0,resizable=0")')
}


modelesswin("http://www.messengerfanclub.com/promo",800,600)


</script>

marto
07-02-2005, 17:11:48
Wop!

Se me ocurre una idea, no la puedo probar ahora, pero debería funcionar :D. Eso sí, con versiones antiguas delos navegadores no creo que funcione. Los pasos serian los siguientes.

1)Dejas el src del iframe en blanco
2)Instancias un XmlHttpRequest
3)Haces una petición a la URL que iba en el iframe
4)Guardas el responseText (no el responseXML) en una variable
5)Buscas la funcion dentro de la variable y la sacas.
6)Haces un document.write al iframe con el valor de la variable (que debería contener todo el html de la web exceptuando la función)


Ya nos dirás si te funcionó!

gatsu
09-02-2005, 11:34:57
caray, esto me ha sonado a javascript avanzado xD

lo he leido un par de veces, pero al no saber muy bien que es lo de XmlHttpRequest, y lo del responseText, me he perdio.

Si eres tan amable de ponerme un ejemplo :)

marto
09-02-2005, 12:49:37
Wop!

Busca en la msdn allí encontrarás la referencia, pero básicamente, este sería el código para IE:

var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
var pUrl = "http://miservidor.com/mipagina.html";
xmlhttp.Open("GET", pUrl, false);
xmlhttp.send();


Llegados a este punto tendrás en xmlhttp.responseText el html que te devolvió la petición.
Una recomendación, mirate bien la documentación, veras que si pasas true en el tercer parametro de Open, puedes hacer llamadas asíncronas (trabajando tambien con onReadyStateChange).

Si necesitas que sea 100% crossbrowser, mírate esto (http://webfx.eae.net/dhtml/xmlextras/xmlextras.html) , está en inglés pero funciona muy bien