то, Что я хочу знать, что не так с Escape/неEscape?
Они не “wrong” как таковой, они - просто свой собственный формат специальной строки, который немного походит на КОДИРОВАНИЕ ПАРАМЕТРА URI, но на самом деле не является. В особенности:
Поэтому при использовании Escape () для создания значений параметров URI, Вы получите неправильные результаты для строк, содержащих плюс, или любые символы неASCII.
Escape () мог использоваться в качестве внутренней схемы кодирования только для JavaScript, например, для выхода из значений cookie. Однако теперь, когда все браузеры поддерживают encodeURIComponent (который первоначально не имел место), нет никакой причины использовать Escape в предпочтении к этому.
существует только одно современное использование для Escape/неEscape, о котором я знаю, и это как быстрый способ реализовать кодер/декодер UTF-8 путем усиления UTF-8, обрабатывающего в обработке URIComponent:
utf8bytes= unescape(encodeURIComponent(unicodecharacters));
unicodecharacters= decodeURIComponent(escape(utf8bytes));
И IE, и Firefox (возможно, другие, я не особо исследовал это) поддерживают атрибут автозаполнения . Если вы установите для него значение «выключено», эти браузеры больше не будут отображать автозаполнение.
<input type="text" autocomplete="off" />