2012-06-12 18 views
2

我的邮件客户端被配置为打开邮件中的链接与Chrome。但有时候,当我从我们的票务系统收到邮件时,Chrome浏览器根本无法正常工作,我想打开与Internet Explorer的链接。在Chrome中使用JavaScript执行本地命令

因此我选择了一个Javascript用户脚本可能会完成这项工作。我搜索了,似乎有一种方法,使用ActiveX。不幸的是,这在Chrome中不起作用。有人知道我会怎么做吗?是否有某种插件或类可以让我在Chrome中做这种事情?还是有另一种解决方案?

+0

使票务系统在Chrome上工作。 – Raptor

+0

@ShivanRaptor这并不是真的有帮助。我们没有开发售票系统,所以不可能做出改变(IE也是公司的标准 - 我不喜欢那样,但它是)。 – Ahatius

+0

真的没有。 javascript并不是要控制客户端计算机,而是要控制浏览器文档。如果javascript能够完成您期望的任何操作,那将会是一个巨大的安全问题。你说得对,IE解决方案是使用ActiveX,但这是唯一支持类似的浏览器,并且用户必须接受或设置配置以允许ActiveX运行反正 – Ian

回答

2

您可以在您的系统上设置自定义协议处理程序。

例如,你可以在你的HTML中使用的协议是这样的:

<a href="sd:http://www.example.com/">I get opened in IE</a> 

然后您注册SD作为协议,并告诉Windows打开这些类型的链接与IE

注册一个应用到URL协议

http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx

问题:

看起来它通过协议部分,所以IE不知道该怎么做。你可以编写一个非常简单的批处理文件去除协议部分,然后启动IE。

下面是一个例子批处理文件:

@echo off 
set a=%1 
start "" "c:\program files (x86)\internet explorer\iexplore.exe" %a:~3% 

它创建一个变量“a”,它设置于所述第一参数“%1” 那么它开始IEXPLORE,剥离的前3个字符“一个“

+0

这是一个非常有趣的方法,我会看看。 – Ahatius

+0

我打电话给我的协议SD。我将“sd:www.google.com”输入Run,并启动IE,但它立即关闭。有什么理由? – Ahatius

+0

我的不好:它不会从开始剥离协议部分,所以IE不知道该怎么做。你可以编写一个非常基本的exe或脚本去除协议,然后启动IE –

0

这不是一个简单的解决方案。任何解决方案,你可以找到这将是非常hacky,因为JavaScript不是为了做到这一点。我能想到的唯一解决方案是使用chrome扩展来基于所访问页面的URL启动外部应用程序,但我不知道chrome扩展是否具有该功能。

不知道它会有多大帮助,但chrome extension tutorial页面可能包含一些有用的信息。