本文目录一览:
- 1、js能否调用delphi开发的dll?
- 2、HTML5/Javascript可以调用c++写的dll吗?
- 3、关于javascript调用本地dll
- 4、javascript 怎么调用 dll 接口? dll文件不能注册,直接调用里面的函数进行通信.
- 5、js里怎样调用c#写的dll
- 6、如何把.js文件编译成dll供页面调用
js能否调用delphi开发的dll?
1、javascript可以调用delphi开发的DLL、ActiveX,不需要安装运行环境;
2、首先确保你的delphi程序不要带包编译;
3、程序发布时连同borlandmm.dll一起发布
HTML5/Javascript可以调用c++写的dll吗?
hTML5和Javascript都属于跨平台语言,dll是windows的控件,并且html5和js也没有将dll纳入兼容调用范围。
当然,凡事有例外的,例如可以编写一个控件(针对不同的平台编写),然后在浏览器端调用,就像现在的监控软件,都需要安装私有控件才可以连接服务主机。但所编写的控件具体如何实现就靠自己搜资料了,并且不建议编写控件,毕竟浏览器的兼容支持比较难实现,确实有需要的话可以编程序,通过网络进行通信或者展现需要的内容。
关于javascript调用本地dll
这根本就是不可能的事情,你想想,页面里的 JS 都是开发人员写的,而在浏览者的电脑上执行。如果像你说的能用 JS 直接调用 dll 的话,那么这个不是比病毒还要厉害了?人家电脑你想怎么玩就怎么玩。这简直就是浏览器史无前例的漏洞了,所以不用想了,不可能是你要的这种用法
javascript 怎么调用 dll 接口? dll文件不能注册,直接调用里面的函数进行通信.
如果Javascript作为前端脚本(就是在浏览器端运行的)使用的话,要调用自己的DLL几乎是不可能的,任何浏览器都不会让网页随意这么做的,太不安全了。只有极少数DLL是可以在浏览器中直接调用的,比如xmlhttp,大部分DLL调用时都会提示用户是否允许运行,甚至直接封杀。
如果是在服务器端使用Javascript(如ASP)调用DLL,这倒是有可能的,但有很多限制条件,比如函数要提供ActiveX接口(类似"Scripting.FileSystemObject"这样的)、要在服务器上对DLL进行注册(如果用的是虚拟服务器空间这几乎是办不到的,换句话说必须是自己的服务器才行)等等。
js里怎样调用c#写的dll
js只支持Activex Dll(所谓的com组件).在C#里如下面的方法写.
然后js里注册该控件并调用.
里面有两个方法
Encrypt(string pToEncrypt,string sKey) //加密
Decrypt(string pToDecrypt,string sKey) //解密
然后你这样写代码:
using System;
using System.Runtime.InteropServices;
namespace 名称空间
{
// 首先建立接口,这个是Com必须使用的
[Guid("61BB24CB-4C2C-40f8-9E13-1AC5E558D56A")]
public interface IEncrypt
{
string Encrypt(string pToEncrypt,string sKey);
string Decrypt(string pToDecrypt,string sKey);
}
// 写接口的实现
[Guid("CB52E990-185E-4448-A7E8-C88ECAD563AB")]
public class 类名称 : IEncrypt
{
public string Encrypt(string pToEncrypt,string sKey)
{
// 复制FAQ加密代码
}
public string Decrypt(string pToDecrypt,string sKey)
{
// 复制FAQ解密代码
}
}
}
然后用vs.net打包成.dll类库文件,假设名称为MyEncrypt.dll
然后用如下工具
regasm MyEnCrypt.dll /tlb:MyEncrypt.tlb
这个.tlb文件就是类型库,可以由vb6和vc++6引用。
注意上面的guid是使用vs.net工具菜单里面的创建guid工具生成的。
还要注意,vs.net自动生成的assemblyinfo.cs文件中必须添加强名称和版本号,因为Com组件需要版本号,不要改动版本号,也不要用vs.net自动的1.*这样的版本号,最好使用
1.1.1.1这样的固定版本,而且必须一次添加,不能多次添加。
regasm后怎样在js里调用?
用你的例子是这样?
var ss = new ActiveXObject("MyEncrypt.类名称");
JS不可以调用普通的Dll动态链接库,但你可以使用new ActiveXObject调用ActiveX DLL,如:
script
set z_shell= CreateObject( "WScript.Shell" )
z_shell.Run( "command.com /c mkdir " + "c:\NewDir")
/script
如何把.js文件编译成dll供页面调用
其实 js本来就是前台脚本,把js文件编译成dll供页面调用也可以实行
方法:
1.在解决方案中添加一个新项目(类库:JSControl)
2.在新项目中添加要用的JS脚本(JScript1.js)
脚本的内容:
function testAlert() {
alert("Hello!");
}
3. 改变JScript1.js的属性,Build Action为Embedded Resource(嵌入的资源)
4.在JSControl项目的AssemblyInfo.cs文件添加一行:(注意
JSControl.JScript1.js,JSControl是js所在项目的命名空间)
//定义组件内的内嵌资源的元数据属性
[assembly: System.Web.UI.WebResource("JSControl.JScript1.js", "application/x-javascript")]
注意:这边要增加个引用:System.Web.dll
5. 项目中增加一个注册客户端脚本的类:
6.在网站项目中引用JSControl项目,编译后生成
JSControl.dll
7.在要调用脚本的页面注册JSControl.dll
%@ Register Assembly="JSControl" Namespace="JSControl"
TagPrefix="zhi" %
8.引用脚本