1.ie插件用ATL开发为dll后缀,用MFC开发为ocx后缀,打包的方法都一样。
2.打包步骤:
a.假如开发的插件文件名为:TransferAgent.dll。
b.新建一个inf后缀的文本文件,例如为inf.inf,
文件内容修改为:
1
2
3
4
5
6
7
8
9
10
|
[version]
signature=
"$Chicago$"
AdvancedINF=2.0
[Add.Code]
TransferAgent.dll=TransferAgent.dll
[TransferAgent.dll]
file
-win32-x86=thiscab
clsid={FD4972BA-686F-4F23-8EB4-9ACC62BA0FC9}
RegisterServer=
yes
FileVersion=1.0.0.1
|
c.主要参数说明:上述的Add.Code中包含了所需的dll,如果有其它dll,可以自行添加,并且每一个dll都要另外进行说明,如上面的:[TransferAgent.dll],特别注意的是要添加插件中组件的clsid,和FileVersion(即文件的版本号)。
d.打包:运行命令: CabArc.Exe -s 6144 n TransferAgent.cab TransferAgent.dll inf.inf
(CabArc.Exe 可在vs2005目录中找到:C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin)。
3.插件使用:
a.在页面中设置插件:
1
|
<
object
id
=
"ieplugin"
codeBase
=
"/TransferAgent.cab#Version=1,0,0,1"
classid
=
"clsid:FD4972BA-686F-4F23-8EB4-9ACC62BA0FC9"
></
object
>
|
其中version和clsid都要和inf文件中的一致。
b.Js调用:
1
2
|
axobj = document.getElementById(
"ieplugin"
);
axobj.Test();
//Test为插件的一个函数。
|
4.插件更新:
重新编译插件时要注意修改插件的版本号,并且同时修改inf文件中的版本号,和页面元素的版本号。这样当ie加载页面时,发现版本号已修改,则会重新下载插件安装,实现自动更新。