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ć.

pr0nin
źródło

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.

Espo
źródło
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!

Ramon
źródło
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.

Brian R. Bondy
źródło
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.

Matt Clark
źródło
0

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

samjudson
źródło
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.

Ben Scheirman
źródło
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.

Slartibartfast
źródło
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.


źródło