Изменить заголовок по умолчанию для подтверждения () в JavaScript?

79

Можно ли изменить заголовок окна сообщения, которое открывается функцией подтверждения () в JavaScript?

Я мог бы создать модальное всплывающее окно, но я хотел бы сделать это как можно более минималистичным. Я бы хотел сделать что-то вроде этого:

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

По умолчанию в Internet Explorer используется заголовок «Windows Internet Explorer», а в Firefox - «[JavaScript-программа]». Не очень информативно. Хотя я могу понять с точки зрения безопасности браузера, что у вас не должно быть такой возможности.

pr0nin
источник

Ответы:

85

Как вы говорите, это невозможно с точки зрения безопасности. Единственный способ смоделировать это - создать немодальное диалоговое окно.

Существует множество сторонних плагинов javascript, которые можно использовать для имитации этого эффекта, поэтому вам не нужно писать весь этот код.

Espo
источник
3
Bootstrap.CSS имеет несколько хороших
модалов
7

Да, ты можешь сделать это!! Это немного хитрый способ; ) (почти работает на 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"
}

Наслаждайся этим!

Рамон
источник
1
Первоначально это создавало ошибку. Затем, после помещения ifблока в тайм-аут, он дал тот же результат в Firefox. Не работает в Chrome. jsfiddle.net/pzd9pmeu
Оливер Моран
2
это изменяет заголовок на «На встроенной странице на этой веб-странице написано:»
ZioCain
1
Ой, чувак, это мерзкий прием. Я не говорю, что в этом что-то не так. Но это должно быть связано с некоторыми из самых отвратительных хаков, которые я когда-либо видел. Вы знаете - похвалы за умение делать дух!
cmc
4

Невозможно. Однако вы можете использовать стороннюю библиотеку javascript, которая имитирует всплывающее окно, и оно, вероятно, также будет выглядеть лучше и будет менее навязчивым.

Брайан Р. Бонди
источник
3

Вы всегда можете использовать скрытый div и использовать javascript для «всплывающего» div и иметь кнопки типа «да» или «нет». Довольно легко сделать.

Мэтт Кларк
источник
0

К сожалению, вы не можете. Единственный способ - смоделировать это с помощью вызова window.open.

Samjudson
источник
0

Тогда не используйте диалог подтверждения () ... простой в использовании настраиваемый диалог из prototype / scriptaculous, YUI, jQuery ... там много всего.

Бен Шейрман
источник
0

Я знаю, что это невозможно для alert (), поэтому я предполагаю, что это также невозможно подтвердить. Причина в безопасности: вам не разрешено изменять его, чтобы вы не представляли себя каким-то системным процессом или чем-то еще.

Slartibartfast
источник
0

Да, изменить название невозможно. Если вы по-прежнему хотите иметь свой собственный заголовок, вы можете попробовать использовать вместо него другие всплывающие окна.


источник