¿Cambiar el título predeterminado de confirm () en JavaScript?

79

¿Es posible modificar el título del cuadro de mensaje que abre la función confirm () en JavaScript?

Podría crear un cuadro emergente modal, pero me gustaría hacerlo lo más minimalista posible. Me gustaría hacer algo como esto:

confirm("This is the content of the message box", "Modified title");

El título predeterminado en Internet Explorer es "Windows Internet Explorer" y en Firefox es "[programa JavaScript]". No muy informativo. Aunque puedo entender, desde el punto de vista de la seguridad del navegador, que no debería poder hacer esto.

pr0nin
fuente

Respuestas:

85

Esto no es posible, como usted dice, desde el punto de vista de la seguridad. La única forma de simularlo es creando una ventana de diálogo no modal.

Hay muchos complementos de javascript de terceros que puede usar para simular este efecto y no tener que escribir todo ese código.

Espo
fuente
3
Bootstrap.CSS tiene algunos modales agradables
0xcaff
7

¡¡Sí, tú puedes hacerlo!! Es una forma un poco complicada; ) (casi funciona en ios)

var iframe = document.createElement("IFRAME");
iframe.setAttribute("src", 'data:text/plain,');
document.documentElement.appendChild(iframe);
if(window.frames[0].window.confirm("Are you sure?")){
    // what to do if answer "YES"
}else{
    // what to do if answer "NO"
}

¡Disfrútala!

Ramon
fuente
1
Inicialmente, esto creó un error. Luego, después de colocar el ifbloque en un tiempo de espera, produjo el mismo resultado en Firefox. No funciona en Chrome. jsfiddle.net/pzd9pmeu
Oliver Moran
2
esto cambia el título a "Una página insertada en esta página web dice:"
ZioCain
1
Oh hombre, eso es un truco desagradable. No estoy diciendo que haya nada de malo en eso. Pero eso tiene que ir a la altura de algunos de los trucos más desagradables que he visto hasta ahora. Ya sabes, ¡felicitaciones por el espíritu de poder hacer!
cmc
4

Imposible. Sin embargo, puede usar una biblioteca javascript de terceros que emule una ventana emergente, y probablemente también se verá mejor y será menos intrusiva.

Brian R. Bondy
fuente
3

Siempre puede usar un div oculto y usar javascript para "desplegar" el div y tener botones que sean como sí o no. Cosas bastante fáciles de hacer.

Matt Clark
fuente
0

Desafortunadamente, no puedes. La única forma es simular esto con una llamada a window.open.

samjudson
fuente
0

No use el cuadro de diálogo confirm () entonces ... fácil de usar un cuadro de diálogo personalizado de prototype / scriptaculous, YUI, jQuery ... hay mucho por ahí.

Ben Scheirman
fuente
0

Sé que esto no es posible para alert (), así que supongo que tampoco es posible confirmar. La razón es la seguridad: no está permitido que lo cambie para no presentarse como un proceso del sistema o algo así.

Slartibartfast
fuente
0

Sí, esto es imposible modificar el título del mismo. Si aún desea tener su propio título, puede intentar usar otras ventanas emergentes.


fuente