我正在尝试使用 Qutecom 作为软电话和 Greesemonkey 脚本将电话号码转换为可点击的 URL,以使点击呼叫功能正常工作。每当我点击电话号码链接时,我都会收到一条错误消息,内容如下:
Firefox 不知道如何打开该地址,因为协议 (tel) 未与任何程序关联。
我该如何将 Qutecom 或任何其他软件电话与该链接关联?Greasemonkey 脚本可在以下链接中找到:
http://userscripts.org/scripts/show/56262
任何帮助将不胜感激。
答案1
在 Windows 下,您可以使用注册表编辑器创建一个新的协议:
Start / Run / regedit
查找HKEY_CLASSES_ROOT
配置单元,并创建具有以下结构的新一系列键:
tel\shell\open\command
在tel
级别上,编辑(Default)
字符串,并将其值更改为URL:tel Protocol
再次在tel
级别上,添加一个名为URL Protocol
且无值的新字符串。
然后在command
级别上编辑(Default)
字符串,并在值部分输入要执行的命令:
c:\path\to\telephone\application.exe %1
%1 将被替换为 tel: 序列后面的内容,即电话号码。
这样就行了。
在 Ubuntu 下
这可能是特定于版本,但以下内容应该有效:
gconftool-2 -t string -s /desktop/gnome/url-handlers/tel/command "/path/to/telephone/application %s"
gconftool-2 -s /desktop/gnome/url-handlers/tel/needs_terminal false -t bool
gconftool-2 -t bool -s /desktop/gnome/url-handlers/tel/enabled true
在这种情况下,%s 将被电话号码替换。
对于 qutecom 来说,Windows 命令行似乎应该是:
"c:\program files\qutecom\qutecom.exe" -c call\%1
(根据您的安装位置进行调整,并首先从 DOS 提示符下尝试此操作,将 %1 替换为电话号码)
答案2
如果您遇到同样的情况,我想到的一个解决方案是将协议的注册表命令指向一个批处理文件,该文件评估命令行参数,剥离“tel:”部分并启动 QuteCom......
以下是我在注册表命令键中输入的字符串:
"C:\telProtocolHandler.bat" %1
这是我的 telProtocolHandler.bat 的内容:
set PathExe="C:\Program Files (x86)\QuteCom\QuteCom.exe"
set CLcmd=-c call/
set CLprm=%1
set CLprm=%CLprm:tel:=%
start "" %PathExe% %CLcmd%%CLprm%
现在它在 Windows 7 下运行得很好
答案3
Paul 的回答还可以,但最好使用“sip”协议而不是“tel”,否则 QuteCom 将尝试调用“tel:#########”,因为浏览器将 URI 传递到 %1。
此外,在 Windows 7 和最新版本的 QuteCom 中,我的路径如下所示(注意斜杠而不是反斜杠):
C:\Program Files (x86)\QuteCom\QuteCom.exe -c call/"%1"