除IE之外,文件附件在其他浏览器中不起作用

时间:2014-04-16 11:23:43

标签: javascript

我正在使用此代码将任何文件附加到Outlook,这对IE工作正常但在其他浏览器中它无效。

<html>
    <head>
    <script type="text/javascript">
        function OpenOutlookDoc()
        {
            var xmlhttp;

            try
            {
                if (window.XMLHttpRequest)
                {
                    outlookApp=new XMLHttpRequest("Outlook.Application");
                }
                var outlookApp = new ActiveXObject("Outlook.Application");
                var nameSpace = outlookApp.getNameSpace("MAPI");
                mailFolder = nameSpace.getDefaultFolder(6);
                mailItem = mailFolder.Items.add('IPM.Note.FormA');
                                mailItem.Attachments.Add ("C:\\Users\\bhaskeak\\Desktop\\temp\\Doc.docx");
                                mailItem.Attachments.Add ("D:\\Capaaature.png");          
                                mailItem.display (0);
            }
            catch(e)
            {
                alert(e);
                // act on any error that you get
            }
        }
    </script>
    </head>
    <body>
        <a href="javascript:OpenOutlookDoc()">Click</a>
    </body>
</html>

请帮助我提供一些解决方案,以便它可以在其他浏览器中使用

1 个答案:

答案 0 :(得分:0)

不幸的是(根据this answer),ActiveX是Microsoft特定的实现,不属于任何其他标准(例如其他浏览器支持的标准)。

鉴于(我从您的代码中假设)这似乎是您将在本地或单一目的托管的东西,可能值得将其构建为您希望使用的浏览器的插件。或者,如果您需要跨浏览器支持,可以查看Firebreath,但要为某些障碍做好准备!