2015-06-22 2 views
1

Я пытаюсь открыть Outlook, когда пользователь нажимает на кнопку отправки формы с помощью JavaScript MailTo:Командная строка аргумент не является допустимым проверить выключатель используется

Когда я отправить форму из хрома или светлячка затем он может открыть, но в IE я получаю следующее сообщение об ошибке:

Командная строка аргумент не действует проверить переключатель, который вы используете

+2

Имеет ли это какое-либо отношение к Java? –

+2

mailto: ссылки будут использовать почтовый клиент по умолчанию, заданный настройками браузера. Это действительно не имеет никакого отношения к коду. – briansol

ответ

2

Я не совсем уверен, что вы сделали исследование много, но первый результат в google, когда вы ищете ошибку, ведет к плате Microsoft wher е, кажется, решена:

https://support.microsoft.com/en-us/kb/312346

Насколько я видел, ваша проблема связана с файлом ассоциации к URI схемы «MailTo». Я бы рекомендовал выполнить шаги, которые вы можете найти в ссылке, и продолжить поиск в следующий раз.

0

Microsoft Knowledge Base article был полезным, но это было лишь временное решение:

  • т.е. если я изменить программу по умолчанию «Почта Экспресс» (Windows 10), нажав MAILTO в IE делает проблему не причины; электронная почта открывается в «Mail Express» и может быть отправлена ​​немедленно.
  • Однако, если я изменю программу по умолчанию на «Outlook 2016» (Windows 10), нажатие кнопки mailto в IE вызывает вопрос: «Аргумент командной строки не действует проверить переключатель вы используете»

Проблема:

Моя MAILTO значение происходит от Угловое, и мой MAILTO имеет специальные символы. Я могу только воссоздать этот вопрос, используя Angular's ng-href (JSFiddle) Я не могу воссоздать проблему с plain HTML (JSFiddle)).

Решение:

Solution JSFiddle here; снова моя проблема специфична для Angular/ng-href, поэтому мое решение использует Angular/ng-href.

В моем случае значение атрибута mailto href включало двойные кавычки (т. Е. '"'). Двойными кавычками были escaped (с обратной косой чертой), но они не были закодированы Мне нужно было URLEncode мое значение mailto. Это интуитивно понятно, потому что href атрибут обычно указывает на URL, и URLs require percent-encoding.

<a href="mailto:[email protected]?subject=Subject includes \"double-quotes\"">Mail link</a> 

Когда я encodeURIComponent только значение subject: encodeURIComponent("Subject includes \"double-quotes\"") и обновить эту часть. Результат здесь; уведомление% 20% и 22 в новой теме:

<a href="mailto:[email protected]?subject=Subject%20includes%20%22double-quotes%22">Mail link</a> 

Примечание:

Я имел двойные кавычки (т.е.'"' или% 22), но разные знак май вызывает проблему: подозреваю, что other URL-unsafe characters может вызвать эту проблему.

Похоже, что пространство (то есть ' ' или% 20) не вызывало проблемы, даже до. После я начал использовать encodeURIComponent, я, вероятно, фиксированный любой/все другие орнаментальные символы, которые могли вызвать проблемы, т.е. '&' или другие ...)

Я не уверен, если parameters have different requirements; то есть параметр subject, обработанный иначе, чем параметр body, или подразумеваемый параметр to. Поэтому я использовал encodeURIComponent как для subject, так и для body.

Будьте осторожны не для чрезмерного кодирования. Только кодируют отдельные subject и body параметры:

  • ли не закодировать двоеточие (т.е. :, который следует mailto); браузеры могут не признать, что это ссылка MailTo (см раствор)
  • ли не закодировать знаки вопроса (т.е. ?) или знаков равенства (т.е. =); браузеры/Outlook может не анализировать параметры (см раствор)

Так что, когда я кодирования:

encodeURIComponent("mailto:[email protected]?subject=Subject includes \"double-quotes\"") 

Обратите внимание на результаты; неправильно закодирован двоеточие (т.е.% 3A) и знак равенства (% 3D)

"mailto%3Aperson%40place.com%3Fsubject%3DSubject%20includes%20%22double-quotes%22" 

Будьте осторожны, чтобы не двойного кодирования, т.е. закодировать строку, которая уже закодированный!

Я удалю Java-тег из вопроса; Я согласен с комментариями I don't think Java is relevant.

 Смежные вопросы

  • Нет связанных вопросов^_^