通过javascript打开Outlook

通过javascript打开Outlook,javascript,activex,Javascript,Activex,有人知道如何使用Javascript打开Outlook吗 我在使用此代码时遇到异常(在IE6中): var outlookApp = new ActiveXObject("Outlook.Application"); 您完全可以这样做,代码如下所示: var objO = new ActiveXObject('Outlook.Application'); var objNS = objO.GetNameSpace('MAPI'); var mItm = objO.Creat

有人知道如何使用Javascript打开Outlook吗

我在使用此代码时遇到异常(在IE6中):

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

您完全可以这样做,代码如下所示:

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_接收者、p_主题和p_主体是变量,已传入

您需要确保此操作在用户信任的网页上运行,否则会导致异常。

也就是说,它需要位于IE中的正确区域,并为该区域配置正确的设置。

出于非常明显的安全原因,您无法通过JavaScript打开桌面应用程序。您给出的示例使用的是Microsoft专有技术,仅在Internet Explorer中可用

如果您只是想在用户电子邮件客户端中打开预填充字段的邮件组合,则可以使用超链接前缀。这允许您指定收件人、主题和正文。例如:

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


除非您有专门使用Outlook的要求(如果是这样的话,我建议您可能想重新考虑您的要求),否则最好打开用户设置的默认电子邮件客户端。

我似乎记得Outlook注册了自己的URI方案(!),因此,如果您真的想这样做的话,您实际上可以从
outlook:
格式的超链接中非常简单方便地打开它。不幸的是,我不再拥有Outlook的副本,而且我已经多年没有尝试过它了,所以我无法验证它是否仍然有效

编辑添加:好!该链接在预览中显示为链接,但在实际发布的答案中不显示。无论如何,这里有一些HTML代码来阐明我的意思:

<a href="outlook:">Click here to launch Microsoft Outlook</a>


你意识到这会使你的网站非常依赖于平台,如果你让它工作起来的话?嗨,Rory,我试过你为什么要这样做?好吧,你可以使用Javascript打开桌面应用程序,只使用IE的ActiveX函数,以及一些轻松的安全设置。假设他没有很好的理由使用这种方法是没有帮助的。我不只是假设,我说它可以用ActiveX实现,而是使用标准的mailto:是一个更好的主意,在我看来是这样。mailto有一些限制,比如不能用html格式化邮件正文。无法添加附件等。我刚刚测试过,这在Firefox中不起作用,没有尝试IE。在IE中也不起作用。可能对outlook 2007不起作用。有没有一种方法可以通过javascript打开outlook收件箱而不打开发送新邮件的窗口?是的。你能做到。获取收件箱var test=objNS.GetDefaultFolder(5);始终记住->ActiveXObject仅适用于IE。如果您需要在chrome中安装IE选项卡扩展,则需要在chrome中安装IE选项卡扩展