открытие Outlook через javascript - PullRequest
2 голосов
/ 22 апреля 2009

Кто-нибудь знает, как открыть Outlook, используя Javascript?

Я получаю исключение (в IE6) при использовании этого кода:

var outlookApp = new ActiveXObject("Outlook.Application");

Ответы [ 3 ]

14 голосов
/ 22 апреля 2009

Вы определенно можете сделать это, код выглядит так:

var objO = new ActiveXObject('Outlook.Application');     
var objNS = objO.GetNameSpace('MAPI');     
var mItm = objO.CreateItem(0);     
mItm.Display();     
mItm.To = p_recipient;
mItm.Subject = p_subject;
mItm.Body = p_body;     
mItm.GetInspector.WindowState = 2;

p_recipient, p_subject & p_body - переменные, переданные в.

Вы должны убедиться, что это выполняется на веб-странице, которой доверяют пользователи, иначе это вызовет исключения.
То есть он должен находиться в правой зоне в IE, с правильными настройками, настроенными для этой зоны.

7 голосов
/ 22 апреля 2009

Вы не можете открывать настольные приложения через JavaScript по очень очевидным причинам безопасности. В приведенном вами примере используется ActiveX , который является фирменной технологией Microsoft, доступной только в Internet Explorer.

Если вы просто хотите открыть композицию сообщений в почтовом клиенте пользователя с предварительно заполненными полями, вы можете использовать префикс гиперссылки mailto: . Это позволяет вам указать получателей, тему и текст сообщения. Пример:

<a href="mailto:me@domain.com?subject=You can specify subject too">

Если у вас нет требования специально использовать Outlook (и я бы посоветовал вам пересмотреть ваши требования в этом случае), гораздо более желательно открыть любой почтовый клиент по умолчанию, установленный пользователем. *

0 голосов
/ 28 апреля 2009

Кажется, я помню, что Outlook регистрирует свою собственную схему URI (!), Поэтому вы можете действительно просто и легко открыть ее по гиперссылке вида outlook:, если вы действительно этого хотите. К сожалению, у меня больше нет копии Outlook, и прошло уже много лет с тех пор, как я попробовал это сделать, поэтому я не могу убедиться, что она все еще работает.

Отредактировано, чтобы добавить: Хорошо! Ссылка отображается в виде предварительного просмотра, но не в самом опубликованном ответе. В любом случае, вот некоторый HTML-код для уточнения моего значения:

<a href="outlook:">Click here to launch Microsoft Outlook</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...