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


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

Podría crear un cuadro emergente modal, pero me gustaría hacer esto 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 "[JavaScript-program]."No es muy informativo. Aunque puedo entender desde un punto de vista de seguridad del navegador que no debería ser capaz de hacer este.

 72
Author: Peter Mortensen, 2008-09-04

9 answers

Esto no es posible, como usted dice, desde el punto de vista de la seguridad. La única forma en que podría simular, es mediante la creación de una ventana de diálogo sin modelo.

Hay muchos plugins de javascript de terceros que puedes usar para falsificar este efecto para que no tengas que escribir todo ese código.

 79
Author: Espo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-04 15:07:26

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

 4
Author: Brian R. Bondy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-04 15:08:36

¡SÍ PUEDES hacerlo!! Es una manera un poco difícil;) (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útalo!

 4
Author: Ramon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-25 19:57:54

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

 3
Author: Matt Clark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-16 14:41:40

Desafortunadamente no puedes. La única manera es simular esto con una ventana.llamada abierta.

 0
Author: samjudson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-04 15:08:08

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

 0
Author: Ben Scheirman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-04 15:08:55

Sé que esto no es posible para alert(), así que supongo que tampoco es posible para confirm. La razón es la seguridad: no se le permite cambiarlo para que no se presente como algún proceso del sistema o algo así.

 0
Author: Slartibartfast,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-04 15:09:49

Sí, es imposible modificar el título de la misma. Si todavía quieres tener tu propio título, puedes intentar usar otras ventanas emergentes en su lugar.

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-03 05:13:13

Puede escribir su propia función para proporcionar un resultado similar. Vea la sección newConfim aquí: http://www.webreference.com/dhtml/column22/js-vbNewjs.html

 -3
Author: Mike,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-14 11:48:07