2008-09-04 6 views
70

Ist es möglich, den Titel der Nachrichtenbox zu ändern, öffnet sich die Funktion confirm() in JavaScript?Ändern des Standardtitels von confirm() in JavaScript?

Ich könnte eine modale Popup-Box erstellen, aber ich möchte dies so minimalistisch wie möglich tun. Ich möchte so etwas wie dies tun:

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

Der Standardtitel im Internet Explorer "Windows Internet Explorer" ist und in Firefox ist es "[JavaScript-Programm]." Nicht sehr informativ. Obwohl ich von einem Browser-Sicherheitsstandpunkt aus verstehen kann, dass dies nicht möglich sein sollte.

Antwort

75

Dies ist nicht möglich, wie Sie sagen, aus einem Sicherheitsstandpunkt. Sie können es nur simulieren, indem Sie ein nicht modales Dialogfenster erstellen.

Es gibt viele JavaScript-Plugins von Drittanbietern, die Sie verwenden könnten, um diesen Effekt zu fälschen, damit Sie nicht den ganzen Code schreiben müssen.

+3

Bootstrap.CSS hat einige nette Modalitäten – 0xcaff

0

Sie können leider nicht. Die einzige Möglichkeit besteht darin, dies mit einem Aufruf von window.open zu simulieren.

4

Nicht möglich. Sie können jedoch eine JavaScript-Bibliothek von Drittanbietern verwenden, die ein Popup-Fenster emuliert, und es wird wahrscheinlich auch besser aussehen und weniger aufdringlich sein.

0

Verwenden Sie nicht die Confirm() -Dialog dann ... einfach, einen benutzerdefinierten Dialog von Prototyp/scriptaculous, YUI, jQuery zu verwenden ... es gibt viele da draußen.

0

Ich weiß, dies ist nicht möglich für alert(), also denke ich, es ist auch nicht möglich zu bestätigen. Grund ist Sicherheit: Es ist nicht erlaubt, sie zu ändern, damit Sie sich nicht als ein Systemprozess oder etwas darstellen.

0

Ja, das ist unmöglich, den Titel davon zu ändern. Wenn Sie dennoch einen eigenen Titel haben möchten, können Sie stattdessen versuchen, andere Popup-Fenster zu verwenden.

3

Sie können immer ein verstecktes div verwenden und Javascript verwenden, um das div "Popup" und haben Schaltflächen, die wie ja und oder nein sind. Ziemlich einfache Sachen zu tun.

4

JA SIE KÖNNEN es tun !! Es ist ein wenig kniffeliger Weg;) (es funktioniert fast auf 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" 
} 

Genießen Sie es!

+1

Dies verursachte zunächst einen Fehler. Dann, nach dem Setzen des 'if'-Blocks in einem Timeout, erzeugte es das gleiche Ergebnis in Firefox. Funktioniert nicht in Chrome. http://jsfiddle.net/pzd9pmeu/ –

+0

Dies ändert den Titel zu "Eine eingebettete Seite auf dieser Webseite sagt:" – ZioCain

Verwandte Themen