Pop Up A medida

Kaos

Buenos días! tenia una consultilla para aquellos q controlan con javascript (Q supongo será el caso).

Necesitaba crear un pop up de un tamaño determinado al pulsar sobre un link...

Con el minimo marco posible, es decir la cabecera con la cruz y punto :).

Gracias por adelantado.

elenemigo

</a><a href="javascript:openIT();"></a><a href="javascript:openIT();"></a><a href="javascript:openIT();"></a><a href="javascript:openIT();"></a><a href="javascript:openIT();"></a><a href="javascript:openIT();"></a><a href="javascript:openIT();"></a><a href="javascript:openIT();"></a><a href="javascript:openIT();">//-->
</script>
<script language="javaScript" type="text/javascript" SRC="js/pz_chromeless_2.1.js"></SCRIPT>

<script>
function openIT() {
theURL="html/screen1.htm"
wname ="CHROMELESSWIN"
W=260;
H=260;
windowCERRARa = "img/close_a.gif"
windowCERRARd = "img/close_d.gif"
windowCERRARo = "img/close_o.gif"
windowNONEgrf = "img/none.gif"
windowCLOCK = "img/clock.gif"
windowREALtit = " NOMBRE"
windowTIT = "<font face=verdana size=1> NOMBRE</font>"
windowBORDERCOLOR = "#006699"
windowBORDERCOLORsel = "#006688"
windowTITBGCOLOR = "#007799"
windowTITBGCOLORsel = "#006688"
openchromeless(theURL, wname, W, H, windowCERRARa, windowCERRARd, windowCERRARo, windowNONEgrf, windowCLOCK, windowTIT, windowREALtit , windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel)
}
</script>

<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
}

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a)&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<script language="javaScript" type="text/javascript" SRC="js/pz_chromeless_2.1.js"></SCRIPT>

<script>
function openIT() {
theURL="html/screen1.htm"
wname ="CHROMELESSWIN"
W=260;
H=260;
windowCERRARa = "img/close_a.gif"
windowCERRARd = "img/close_d.gif"
windowCERRARo = "img/close_o.gif"
windowNONEgrf = "img/none.gif"
windowCLOCK = "img/clock.gif"
windowREALtit = " NOMBRE"
windowTIT = "<font face=verdana size=1> TITULO</font>"
windowBORDERCOLOR = "#006699"
windowBORDERCOLORsel = "#006688"
windowTITBGCOLOR = "#007799"
windowTITBGCOLORsel = "#006688"
openchromeless(theURL, wname, W, H, windowCERRARa, windowCERRARd, windowCERRARo, windowNONEgrf, windowCLOCK, windowTIT, windowREALtit , windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel)
}
</script>

elenemigo

unction openchromeless(theURL, wname, W, H, windowCERRARa, windowCERRARd, windowCERRARo, windowNONEgrf, windowCLOCK, windowTIT, windowREALtit , windowBORDERCOLOR, windowBORDERCOLORsel, windowTITBGCOLOR, windowTITBGCOLORsel) {

var windowW = W;
var windowH = H;
var windowX = Math.ceil( (window.screen.width  - windowW) / 2 );
var windowY = Math.ceil( (window.screen.height - windowH) / 2 );

if (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion)>=4) isie=true
else											     isie=false

if (isie) { H=H+20+2; W=W+2; }

s = ",width="+W+",height="+H;

if (isie && (navigator.userAgent.toLowerCase().indexOf("win")!=-1) ) {

var dowin = theURL != "" ? true : false;

var chromeTIThtml = '\n' +
'<html> '+ '\n'+
'<head> '+ '\n'+
'<title>&nbsp;CHROMELESS WINDOWS / TITLEBAR</title> '+ '\n'+
'<style type="text/css"> '+ '\n'+
'#mywindowTITLE { position: absolute; left: 0px; top: 0px; width: 100%; height: 22px; z-index: 1; background-color: '+windowTITBGCOLOR+'; clip:rect(0,100%,22,0); } '+ '\n'+
'#mywindow { position: absolute; left: 0px; top: 0px; width: 100%; height: 22px; z-index: 2; clip:rect(0,100%;22,0); } '+ '\n'+
'#mywindowCLOSE { position: absolute; left: -22px; top: -22px; width: 11px; height: 11px; z-index: 3; clip:rect(0,11,11,0); } '+ '\n'+
'#mywindowCLOCK { position: absolute; left: -22px; top: -22px; width: 11px; height: 11px; z-index: 3; clip:rect(0,11,11,0); } '+ '\n'+
'</style> '+ '\n'+
'<script language="javascript"> '+ '\n'

if ( theURL != "" ) {

chromeTIThtml = chromeTIThtml +
' theURL = "'+theURL +'" '+ '\n'+
' windowCERRARa = "'+windowCERRARa +'" '+ '\n'+
' windowCERRARd = "'+windowCERRARd +'" '+ '\n'+
' windowCERRARo = "'+windowCERRARo +'" '+ '\n'+
' windowCLOCK = "'+windowCLOCK +'" '+ '\n'+
' windowBORDERCOLOR = "'+windowBORDERCOLOR +'" '+ '\n'+
' windowBORDERCOLORsel= "'+windowBORDERCOLORsel +'" '+ '\n'+
' windowTITBGCOLOR = "'+windowTITBGCOLOR +'" '+ '\n'+
' windowTITBGCOLORsel = "'+windowTITBGCOLORsel +'" '+ '\n'

} else {

chromeTIThtml = chromeTIThtml +
' theURL="about:blank" '+ '\n'+
' windowCERRARa = "img/close_a.gif" '+ '\n'+
' windowCERRARd = "img/close_d.gif" '+ '\n'+
' windowCERRARo = "img/close_o.gif" '+ '\n'+
' windowCLOCK = "img/clock.gif" '+ '\n'+
' windowTIT = "<font face=verdana size=1>&nbsp;Fire FUry</font>" '+ '\n'+
' windowBORDERCOLOR = "#000000" '+ '\n'+
' windowBORDERCOLORsel = "#000000" '+ '\n'+
' windowTITBGCOLOR = "#000000" '+ '\n'+
' windowTITBGCOLORsel = "#000000" '+ '\n'

}

chromeTIThtml = chromeTIThtml +
'var windowCERRARImg_a = new Image(); windowCERRARImg_a.src = windowCERRARa; '+ '\n'+
'var windowCERRARImg_d = new Image(); windowCERRARImg_d.src = windowCERRARd; '+ '\n'+
'var windowCERRARImg_o = new Image(); windowCERRARImg_o.src = windowCERRARo; '+ '\n'+
'var windowCLOCKImg = new Image(); windowCLOCKImg.src = windowCLOCK; '+ '\n'+
' '+ '\n'+
'function mouseSTATUS() { '+ '\n'+
' this.x = null; '+ '\n'+
' this.y = null; '+ '\n'+
' this.bt = "up"; '+ '\n'+
' this.oldx = null; '+ '\n'+
' this.oldy = null; '+ '\n'+
' this.dx = null; '+ '\n'+
' this.dy = null; '+ '\n'+
' this.screeny = null; '+ '\n'+
' this.screenx = null; '+ '\n'+
' '+ '\n'+
' this.element = null; '+ '\n'+
' this.event = null; '+ '\n'+
'} '+ '\n'+
' '+ '\n'+
'var mouse = new mouseSTATUS(); '+ '\n'+
' '+ '\n'+
'function actualizateMouseSTATUS(e) { '+ '\n'+
' if (!e) var e = event '+ '\n'+
' if ( (e.type=="mousedown" || e.type=="mouseup") && e.button!=1) return true '+ '\n'+
' '+ '\n'+
' var x=e.x+document.body.scrollLeft '+ '\n'+
' var y=e.y+document.body.scrollTop '+ '\n'+
' '+ '\n'+
' mouse.x = x; '+ '\n'+
' mouse.y = y; '+ '\n'+
' '+ '\n'+
' if ( e.type == "mousedown" ) mouse.bt = "down"; '+ '\n'+
' else if ( e.type == "mouseup" ) mouse.bt = "up"; '+ '\n'+
' '+ '\n'+
' if (window.event) { '+ '\n'+
' mouse.screenx=window.event.screenX; '+ '\n'+
' mouse.screeny=window.event.screenY; '+ '\n'+
' } else { '+ '\n'+
' mouse.screenx=-1; '+ '\n'+
' mouse.screeny=-1; '+ '\n'+
' } '+ '\n'+
' '+ '\n'+
'} '+ '\n'+
' '+ '\n'+
' '+ '\n'+
'function initMouseEvents() { '+ '\n'+
' document.onmousedown = actualizateMouseSTATUS '+ '\n'+
' document.onmousemove = actualizateMouseSTATUS '+ '\n'+
' document.onmouseup = actualizateMouseSTATUS '+ '\n'+
' document.onselectstart = selectstart '+ '\n'+
' document.ondragstart = new Function("actualizateMouseSTATUS(event); return false;") '+ '\n'+
'} '+ '\n'+
' '+ '\n'+
'function selectstart(){ '+ '\n'+
' if ( event.srcElement.tagName != "INPUT" && event.srcElement.tagName != "TEXTAREA") { return false; } '+ '\n'+
' else { mouse.bt="up"; return true; } '+ '\n'+
'} '+ '\n'+
' '+ '\n'+
'initMouseEvents() '+ '\n'+
' '+ '\n'+
'var mywindowbt ="up"; '+ '\n'+
'var wincloseSTATUS="up"; '+ '\n'+
' '+ '\n'+
'var ofx=0; '+ '\n'+
'var ofy=0; '+ '\n'+
'var opx=0; '+ '\n'+
'var opy=0; '+ '\n'+
'var px=0; '+ '\n'+
'var py=0; '+ '\n'+
' '+ '\n'+
'var wcpx1=-1, wcpy1=-1; '+ '\n'+
'var wcpx2=-1, wcpy2=-1; '+ '\n'+
' '+ '\n'+
'var wclosechanged = false; '+ '\n'+
' '+ '\n'+
'function initToMoveWin() { '+ '\n'+
' if (wincloseSTATUS=="up" && ( mywindowbt=="up" || mywindowbt=="over") ) { '+ '\n'+
' '+ '\n'+
' if ( parent.mainloaded ) document.all["mywindowCLOCK"].style.visibility = "hidden"; '+ '\n'+
' '+ '\n'+
' document.all["mywindowCLOCK"].style.pixelLeft=document.body.clientWidth-36 '+ '\n'+
' document.all["mywindowCLOCK"].style.pixelTop =4 '+ '\n'+
' '+ '\n'+
' wcpx1 = document.all["mywindowCLOSE"].style.pixelLeft=document.body.clientWidth-18 '+ '\n'+
' wcpy1 = document.all["mywindowCLOSE"].style.pixelTop =4 '+ '\n'+
' wcpx2 = wcpx1 + 11 - 1 '+ '\n'+
' wcpy2 = wcpy1 + 11 - 1 '+ '\n'+
' if ( mouse.x >= wcpx1 && mouse.x <= wcpx2 && mouse.y >= wcpy1 && mouse.y <= wcpy2) { '+ '\n'+
' if (wclosechanged == false) { '+ '\n'+
' document.all["mywindowCLOSE"].document.images["closewin"].src=windowCERRARImg_o.src '+ '\n'+
' wclosechanged = true '+ '\n'+
' } '+ '\n'+
' '+ '\n'+
' } else if (wclosechanged == true) { '+ '\n'+
' document.all["mywindowCLOSE"].document.images["closewin"].src=windowCERRARImg_d.src '+ '\n'+
' wclosechanged = false '+ '\n'+
' } '+ '\n'+
' } '+ '\n'+
' '+ '\n'+
' if ( mouse.y <= 22 && mouse.y >= 1 && mywindowbt == "up" && mouse.bt =="up" ) { mywindowbt = "over" } '+ '\n'+
' else if ( ( mouse.y > 22 || mouse.y < 1 ) && mywindowbt == "over" && mouse.bt =="up" ) { mywindowbt = "up" } '+ '\n'+
' else if ( mouse.y <= 22 && mouse.y >= 1 && mywindowbt == "over" && mouse.bt == "down" ) { '+ '\n'+
' self.window.focus(); '+ '\n'+
' '+ '\n'+
' if ( mouse.x >= wcpx1 && mouse.x <= wcpx2 && mouse.y >= wcpy1 && mouse.y <= wcpy2 ) { '+ '\n'+
' wincloseSTATUS="down" '+ '\n'+
' document.all["mywindowCLOSE"].document.images["closewin"].src=windowCERRARImg_a.src '+ '\n'+
' } else { '+ '\n'+
' document.all["mywindowTITLE"].style.backgroundColor = windowTITBGCOLORsel '+ '\n'+
' document.body.style.borderColor = windowBORDERCOLORsel '+ '\n'+
' parent.chromewinb.document.bgColor = windowBORDERCOLORsel '+ '\n'+
' parent.chromewinl.document.bgColor = windowBORDERCOLORsel '+ '\n'+
' parent.chromewinr.document.bgColor = windowBORDERCOLORsel '+ '\n'+
' ofx = mouse.x; '+ '\n'+
' ofy = mouse.y; '+ '\n'+
' opx = mouse.x; '+ '\n'+
' opy = mouse.y; '+ '\n'+
' } '+ '\n'+
' mywindowbt="down"; '+ '\n'+
' } '+ '\n'+
' else if ( mouse.bt =="up" && mywindowbt == "down" ) { '+ '\n'+
' mywindowbt="up"; '+ '\n'+
' ofx=0; '+ '\n'+
' ofy=0; '+ '\n'+
' opx=0; '+ '\n'+
' opy=0; '+ '\n'+
' '+ '\n'+
' if ( mouse.x >= wcpx1 && mouse.x <= wcpx2 && mouse.y >= wcpy1 && mouse.y <= wcpy2 && wincloseSTATUS=="down" ) { top.window.close() } '+ '\n'+
' '+ '\n'+
' wincloseSTATUS="up" '+ '\n'+
' '+ '\n'+
' if ( document.all["mywindowTITLE"] ) { '+ '\n'+
' document.all["mywindowTITLE"].style.backgroundColor = windowTITBGCOLOR '+ '\n'+
' document.body.style.borderColor = windowBORDERCOLOR '+ '\n'+
' parent.chromewinb.document.bgColor= windowBORDERCOLOR '+ '\n'+
' parent.chromewinl.document.bgColor= windowBORDERCOLOR '+ '\n'+
' parent.chromewinr.document.bgColor= windowBORDERCOLOR '+ '\n'+
' } '+ '\n'+
' '+ '\n'+
' } '+ '\n'+
' else if ( mywindowbt == "down" && wincloseSTATUS == "up") { '+ '\n'+
' var m_scrx = mouse.screenx; '+ '\n'+
' var m_scry = mouse.screeny; '+ '\n'+
' opx = px + ofx - m_scrx; '+ '\n'+
' opy = py + ofy - m_scry; '+ '\n'+
' px = m_scrx - ofx; '+ '\n'+
' py = m_scry - ofy; '+ '\n'+
' top.window.moveTo(px , py); '+ '\n'+
' } '+ '\n'+
' setTimeout("initToMoveWin()",50); '+ '\n'+
'} '+ '\n'+
'</script> '+ '\n'+
'</head> '+ '\n'+
' '+ '\n'+
'<div id=mywindow></div> '+ '\n'+
'<div id=mywindowTITLE>'+ '<table width=100% height=20 border=0 cellpadding=0 cellspacing=0><tr><td valign=middle align=left>'+windowTIT+'</td></tr></table>' +'</div> '+ '\n'+
'<div id=mywindowCLOSE></div> '+ '\n'+
'<div id=mywindowCLOCK></div> '+ '\n'+
'</body> '+ '\n'+
'<script>initToMoveWin();</script> '+ '\n'+
'</html> '+ '\n'

var chromeFRMhtml = '' +
'<HTML> '+ '\n'+
'<HEAD> '+ '\n'+
'<TITLE>'+ windowREALtit +'</TITLE> '+ '\n'+
'</HEAD> '+ '\n'+
'<script> '+ '\n'+
'mainloaded = false '+ '\n'+
'function generatetitle() { '+ '\n'+
' if( window.frames["chromewint"] && window.frames["chromewinl"] && window.frames["chromewinb"] && window.frames["chromewinr"] ) { '+ '\n'+
' chromewint.document.open(); '+ '\n'+
' chromewint.document.write( "'+ quitasaltolinea(chromeTIThtml) +'" ); '+ '\n'+
' chromewint.document.close(); '+ '\n'+
' chromewinl.document.bgColor="'+ windowBORDERCOLOR +'" '+ '\n'+
' chromewinb.document.bgColor="'+ windowBORDERCOLOR +'" '+ '\n'+
' chromewinr.document.bgColor="'+ windowBORDERCOLOR +'" '+ '\n'+
' } else { '+ '\n'+
' setTimeout("generatetitle()",200) '+ '\n'+
' } '+ '\n'+
'} '+ '\n'+
'generatetitle() '+ '\n'+
'</script> '+ '\n'+
'<frameset border=0 framespacing=0 frameborder=0 rows="22,100%,1" onload="mainloaded=true" onreadystatechange="generatetitle()"> '+ '\n'+
' <frame name=chromewint src="about:blank" scrolling=no noresize> '+ '\n'+
' <frameset border=0 framespacing=0 frameborder=0 cols="1,100%,1"> '+ '\n'+
' <frame name=chromewinl src="about:blank" scrolling=no noresize> '+ '\n'+
' <frame name=main src="'+theURL+'"> '+ '\n'+
' <frame name=chromewinr src="about:blank" scrolling=no noresize> '+ '\n'+
' </frameset> '+ '\n'+
' <frame name=chromewinb src="about:blank" scrolling=no noresize> '+ '\n'+
'</frameset> '+ '\n'+
'</HTML> '

	splashWin = window.open( "" , wname, "fullscreen=1,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0"+s);

	splashWin.resizeTo( Math.ceil( W )       , Math.ceil( H ) );
	splashWin.moveTo  ( Math.ceil( windowX ) , Math.ceil( windowY ) );

	splashWin.document.open();
	splashWin.document.write( chromeFRMhtml );
	splashWin.document.close();

}
else    {
	var splashWin = window.open(theURL, wname, "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1"+s, true);
}

splashWin.focus();

}


function quitasaltolinea(txt) {

var salida = txt.toString()
var re = /\/g; var salida = salida.replace(re, "\\");
var re = /\//g; var salida = salida.replace(re, "\\/");
var re = /\"/g; var salida = salida.replace(re, "\\"");
var re = /\'/g; var salida = salida.replace(re, "\\'");
var re = /\n/g; var salida = salida.replace(re, "\n");
var re = / /g; var salida = salida.replace(re, "");
var re = /\t/g; var salida = salida.replace(re, "");
var re = /\r/g; var salida = salida.replace(re, "");

return salida

}

elenemigo

Lo saque de no se donde hace tiempo (era de codigo libre), sacalo editando... el segundo post es el archivo pz_chromeless_2.1 (SRC="js/pz_chromeless_2.1.js") que es el nombre del popup este.

Es muy bonito de ver y queda de muerte en paginas integramente en flash que vayas a abrir en plan popup..., ademas de poder personalizar los botoncitos de cerrar y su icono... ;)

Whose

como os liais, hay generadores de pop ups, buenisimos que te centran la ventana y tal y es compatible con IE y Mozilla Firefox:
http://www.gamarod.com.ar/recursos/herramientas/popup.asp

1 saludo.

Kaos

oh como mola esa herramienta :D gracias a los dos. He lograo un resultao ya curioso :)

D

elenemigo, yo lo tengo hecho x ahi y no ocupa ni la mitad el TOCHO de código ese...

Carcass

Supongo que sabéis que esas cosas dejarán de funcionar en el Explorer con el service pack 2 de Windows XP ¿verdad?

Crawler

si,al igual que ya pasó con el sp1, la chromless, dará problemas.
decir que ya han sacado una version del script compatible con mozilla,pero por el momento, solo la sueltan a cambio de pasta :S

la url: www.chromeless.org

Kaos

ome con el SP2 no creo q los popups dejen de funcionar no?

oualid

eso lo puedes hacer con drw tambien ^^

Carcass

#10 Precisamente eso es una de las "mejoras" :P

Kaos

yo los veo bastante utiles en algunas circunstancias. Los van a suprimir completamente? Ome podrian dejarlos con ciertas limitaciones para q no se abuse de publicidad con ellos...

Carcass

Hay que abrirlos de una forma especial y se pueden desactivar por completo (de todas formas siempre se ha recomendado no abrir ventanas nuevas...)

FatalEagle

pues en webs los popups aveces pueden ser muy útiles (en mi opinión) y si encima va a dar problems los cromeless :S...
Hay vida dspues del spam popup y utilidades mucho mas gratificantes para la vista xD

Carcass

No, no los chromeless... todos los popups van a dar problemas jeje

Y yo sigo sin verle utilidad a los popups.

Usuarios habituales

  • Carcass
  • FatalEagle
  • Kaos
  • oualid
  • DeiX
  • Whose
  • elenemigo