Js如何调用本地应用程序

JavaScript011

Js如何调用本地应用程序,第1张

一般情况下,浏览器中是无法直接和本机的其他的程序进行交互的,在IE中,我们可以通过ActiveX对象的方式进行。但是这个方式只适用于IE浏览器,另一种比较通用的方式便是URL协议的方式,我们将某种URL的协议注册给某个程序来进行处理,比如将tencent://这样的协议注册给QQ程序来进行处理,当浏览器需要访问这样的协议的时候就转给QQ程序进行处理。这种URL协议的方式是可以跨平台的,比如在Windows上你需要添加注册表项。

首先先看看js应该如何调用qq客户端。

window .open(" tencent://message/?uin=346915968 ")

window.open顾名思义,打开。Tencent就不用多说了吧 BAT之T。上述能直接打开qq帐号对应的对话框。由此可以知道网页上的在线客服功能是如何实现了吧。

那要是不需要打开对话框,就想要登陆qq应该如何实现呢?很简单呀:

window .open(" tencent://message/?uin=qq ") 不过调用应用这种跟黑客没什么差别的行为,浏览器一般都是禁止的,

选择允许后,

启动应用,qq客户端就会被调起。

为什么说这个呢,老板又给了个需求,想让调起qq客户端一样,想通过演示页面的一个按钮,调起售票系统的各种程序...

什么都不说了,先看看什么是自定义协议。

Pluggable Protocol,又叫URL Protocol,有时会叫Shell命令,通用的Protocol有http、ftp、mailto等,这些都是windows安装时自带的协议。

接着也实现一个简单的自己的自定义协议吧。

1,运行window,输入regedit打开注册表。 在HKEY_CLASSES_ROOT下面建一个自己起的名字的表。

用如下格式把各项值添上:

js打开qq音乐.exe

启动应用

end.

JS动态调用方法名

1.方法就是使用js里面的eval 下面是自己写的例子 代码如下: call("showmsg")functioncall(functionName){ eval("this."+functionName+"()")}functionshowmsg(){ alert("success")} eval能将你拼接的字符串自动识别为方法,并调用。 但弊端也是很大的,想象一下,某个人改你调用地方的方法名,便能调用你的任意方法。

2.方法主要用作自己定义的方法 主要是第二种方法需要特定的方式去写 代码如下: functioncall(functionName) { showmsgs["showmsg"]()}varshowmsgs

自己调用自己的函数叫做递归函数,递归函数是在程序中函数直接或间接调用自己。

工具原料:编辑器、浏览器

1、简单的JavaScript递归代码示例如下:

function test(num){

    if(num <= 1){

        return 1

    }else{

        return num * test(num-1)

    }

}

var a = test

console.log(a(6)) // 1

2、运行的结果如下: