【问题标题】:Is it possible to open an application installed on client machine using client side scripting languages是否可以使用客户端脚本语言打开安装在客户端计算机上的应用程序
【发布时间】:2019-10-26 13:01:07
【问题描述】:

我需要一个建议来澄清我的想法。现在我正在使用 Angularjs 作为前端框架的 ASP.NET MVC5 中的 Web 应用程序。 有没有办法使用 jquery、ajax、angularjs 等任何脚本语言打开 MS Word/Outlook 等客户端应用程序。

【问题讨论】:

  • 不是来自基于浏览器的应用程序。来自 Electron 应用程序之类的东西,是的。
  • 确定,在您的服务器上生成一个word文档的链接并让用户点击它?

标签: javascript jquery angularjs ajax


【解决方案1】:

是的,您可以使用ActiveXObject 打开任何 MS-WORD 文档。
以下是在网页上打印文件数据的示例代码。

var w=new ActiveXObject(‘Word.Application’);
if (w != null)

{

w.Visible = true; //set to false to stop the Word document from opening

obj=w.Documents.Open("C:\\blank.doc"); //this can be any location on your PC, not just C:

docText = obj.Content;

w.Selection.TypeText("Hello world!");

w.Documents.Save();

document.write(docText);//Print on webpage

更多信息可以参考here.

【讨论】:

  • @Strom 您是否浏览过答案中提到的链接?看起来它会起作用,或者如果你认为它不会起作用,你能告诉我们为什么它不起作用吗??
  • ActiveXObject 仅存在于 Internet Explorer 中,并且仅适用于受信任的站点。见stackoverflow.com/questions/7022568/…。这是一个重大的安全漏洞。我绝不会让任何网站任意在我的电脑上运行代码。
  • 那么在那种情况下我们可以使用Firebreath,对吧?来自答案的链接:firebreath.org
  • NPAPI 和 ActiveX 插件实际上都已过时。所以没有。
【解决方案2】:

一般来说,不会,因为这将是一个巨大的安全漏洞,并导致病毒和恶意软件的传播。

在某些特定情况下,您已经可以控制用户的计算机,您也许可以做到(例如,像 Strom 所说的带有受信任站点的 Internet Explorer)。

但实际上不值得追求这些选项,因为它们一直被浏览器供应商积极关闭。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多