Если Вы выходите для HTML, существуют только три, что я могу думать, который был бы действительно необходим:
html.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">");
В зависимости от Вашего варианта использования, Вы, возможно, также должны были бы сделать вещи как "
к "
. Если бы список стал достаточно большим, я просто использовал бы массив:
var escaped = html;
var findReplace = [[/&/g, "&"], [/</g, "<"], [/>/g, ">"], [/"/g, """]]
for(var item in findReplace)
escaped = escaped.replace(findReplace[item][0], findReplace[item][1]);
encodeURIComponent()
только выйдет из него для URL, не для HTML.
Я был готов процитировать рекомендации Microsoft относительно того, когда использовать эллипсы, но к тому времени, когда я сюда попал, другие уже цитировали рекомендации Microsoft, давая ответы, отличные от того, который я собирался дать.
Очевидно, Microsoft изменила свои правила, и они сами не совсем им следуют.
В любом случае, текущие рекомендации Microsoft, насколько мне известно, являются Пользователем Windows Рекомендации по взаимодействию с опытом (PDF-версия доступна здесь ). Что касается эллипсов , в частности, их рекомендация состоит в том, чтобы использовать эллипсы только тогда, когда команде требуется дополнительная информация для выполнения, а не только когда команда открывает другое окно. (Отчасти многоточие означает, что команда "безопасна" щелкнуть, потому что он ничего не сделает сразу.)
So About и др. не нуждаются в многоточиях, потому что им не нужна дополнительная информация. Печать отображается в виде эллипсов, потому что она не будет печататься, пока вы не нажмете ОК. По крайней мере, в некоторых версиях руководящих принципов Microsoft прямо указано, что в настройках / параметрах не должно быть многоточия, потому что успешное выполнение команды «Настройки» означает только отображение диалогового окна «Настройки», а не обязательное выполнение каких-либо действий. (Последний вариант мне кажется несколько произвольным.)
потому что успешное выполнение команды Preferences означает только отображение диалогового окна Preferences, не обязательно что-либо делать. (Последний вариант мне кажется несколько произвольным.) потому что успешное выполнение команды Preferences означает только отображение диалогового окна Preferences, не обязательно что-либо делать. (Последний вариант мне кажется несколько произвольным.)Да, в Руководстве по интерфейсу Windows для разработки программного обеспечения четко указано, что кнопка или пункт меню, открывающие новое диалоговое окно, должны иметь добавленные многоточия «...» к нему.
Стоит отметить, что продукты Microsoft обычно игнорируют рекомендации Microsoft Interface Guidelines.
Вы правы, это непоследовательно.
Мое правило таково, что ...
означает «больше».
или, более конкретно, это означает: «Я пока не собираюсь предпринимать никаких действий; я собираюсь сначала открыть диалоговое окно и позволить вам, пользователю, решить, куда идти дальше».
диалоговое окно всегда будет включать кнопку отмены.
Я нашел это в Руководстве по человеческому интерфейсу Apple .
Они говорят, что это:
Когда оно появляется в названии кнопки или пункта меню , символ многоточия (…) указывает пользователю, что перед выполнением связанной операции требуется дополнительная информация. В частности, он подготавливает пользователя к тому, чтобы ожидать появления окна или диалогового окна, в котором можно будет сделать выбор или ввести информацию перед выполнением команды. Поскольку пользователи ожидают мгновенного действия от кнопок и пунктов меню (как описано в разделах «Кнопки» и «Поведение меню»), особенно важно подготовить их к такому альтернативному поведению, соответствующим образом отображая символ многоточия.
Официальные рекомендации Microsoft таковы
" Иногда в конце названия кнопки команды появляется многоточие […]. Если действие отложено (например, если в результате появляется временное диалоговое окно), то метка принимает многоточие. Если действие происходит немедленно, многоточие не требуется ».
Конечно, Microsoft не пользуется собственными рекомендациями. Например, лента, интерфейс медиаплеера и т. Д.