Zmieniasz domyślny tytuł confirm () w JavaScript?


79

Czy można zmienić tytuł okna wiadomości, które funkcja confirm () otwiera w JavaScript?

Mógłbym stworzyć modalne okienko wyskakujące, ale chciałbym zrobić to tak minimalistycznie, jak to tylko możliwe. Chciałbym zrobić coś takiego:

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

Domyślny tytuł w przeglądarce Internet Explorer to „Windows Internet Explorer”, aw przeglądarce Firefox to „[program JavaScript]”. Niezbyt pouczające. Chociaż z punktu widzenia bezpieczeństwa przeglądarki rozumiem, że nie powinieneś być w stanie tego zrobić.

Odpowiedzi:


85

Nie jest to możliwe, jak powiedziałeś, z punktu widzenia bezpieczeństwa. Jedynym sposobem, w jaki można to zasymulować, jest utworzenie niemodalnego okna dialogowego.

Istnieje wiele wtyczek javascript innych firm, których możesz użyć do sfałszowania tego efektu, więc nie musisz pisać całego kodu.


3
Bootstrap.CSS ma kilka fajnych
modali

7

Tak, możesz to zrobić!! To trochę trudny sposób; ) (prawie działa na 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"
}

Ciesz się tym!


1
Początkowo spowodowało to błąd. Następnie, po umieszczeniu ifbloku w limicie czasu, dał ten sam wynik w przeglądarce Firefox. Nie działa w Chrome. jsfiddle.net/pzd9pmeu
Oliver Moran

2
zmienia to tytuł na „Osadzona strona na tej stronie mówi:”
ZioCain

1
Człowieku, to paskudny hack. Nie mówię, że jest w tym coś złego. Ale to musi dotyczyć niektórych z najgorszych hacków, jakie do tej pory widziałem. Wiesz - chwała dla ducha, który potrafi!
cmc

4

Niemożliwe. Możesz jednak użyć biblioteki javascript innej firmy, która emuluje wyskakujące okienko, i prawdopodobnie będzie również lepiej wyglądać i będzie mniej uciążliwa.


3

Zawsze możesz użyć ukrytego elementu div i użyć javascript do „wyskakiwania” elementu div i mieć przyciski, które wyglądają jak tak i lub nie. Całkiem łatwe do zrobienia.


0

Nie możesz niestety. Jedynym sposobem jest zasymulowanie tego za pomocą wywołania window.open.


0

Nie używaj wtedy okna dialogowego potwierdzenia () ... łatwe w użyciu niestandardowe okno dialogowe z prototypów / skryptów, YUI, jQuery ... jest ich mnóstwo.


0

Wiem, że nie jest to możliwe w przypadku alert (), więc myślę, że nie można też tego potwierdzić. Powodem jest bezpieczeństwo: nie możesz tego zmieniać, abyś nie przedstawiał się jako jakiś proces systemowy lub coś w tym rodzaju.


0

Tak, nie można zmienić jego tytułu. Jeśli nadal chcesz mieć swój własny tytuł, możesz spróbować użyć innych wyskakujących okienek.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.