最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

HTA

2022-02-25 08:20 作者:CSDN首席噴子  | 我要投稿

HTML應(yīng)用(HTML?Application,HTA)可以算是最早的WebView了,在Windows?2000到Windows?10中都可以使用,實(shí)際上就是一個(gè)啟用本地權(quán)限的IE瀏覽器,可以借助ActiveX在.NET上開發(fā)擴(kuò)展。編寫一個(gè)靜態(tài)HTML頁面,然后將其擴(kuò)展名修改為HTA,就變成了一個(gè)本地應(yīng)用,這個(gè)頁面擁有信任站點(diǎn)權(quán)限。但是相應(yīng)地,有些限制跨域的Web開發(fā)手段就不能使用了。除此之外,還必須考慮當(dāng)前使用的IE版本。

元信息標(biāo)簽

除了標(biāo)準(zhǔn)的HTML頁面外,可以在<head>標(biāo)簽里面加入一個(gè)<HTA:AppLICATION>標(biāo)簽用于描述應(yīng)用本身:

<head>

<HTA:AppLICATION

ICON="favicon.ico"

WINDOWSTATE="maximize">

</HTA:AppLICATION>

...

基于.NET的COM組件

對(duì)于IE?11版本來說,其必須使用.NET?4.0以上版本創(chuàng)建的COM組件。一個(gè).NET?上的COM組件實(shí)例如下:

using?System;

using?System.Runtime.InteropServices;

namespace?Exercise.Background

{

[ComVisible(true)]

[Guid("54AC547E-32D6-4540-9A2A-B5B71E2A313F")]

public?interface?ICalculator

{

????[ComVisible(true)]

????double?Add(double?val1,?double?val2);

}


[ComVisible(true)]

[Guid("8A7DE620-5D50-441D-ACC2-543CA8F2B664")]

public?class?CalculatorImpl:ICalculator

{

[ComVisible(true)]

public?double?Add(double?val1,?double?val2)

{

return?val1?+?val2;

}

}

}

編譯,然后在管理員權(quán)限下使用C:\Windows\Microsoft.NET\Framework或Framework64下v4.0.x目錄中的regasm.exe注冊(cè)生成的DLL。

在HTA中調(diào)用COM組件

在頁面中首先聲明組件(使用實(shí)現(xiàn)類的CLSID):

<object?CLASSID?=?"CLSID:?8A7DE620-?5D50-?441d-?ACC2-?543CA8F2B664"?id?=?"?calculator?"></object>

然后在Javascript中按HTML ID調(diào)用即可:

<script>

window.onload?=?function()?{

var?output?=?document.getElementById("output");

output.innerHTML?=?calculator.Add(1.0,?2.0).toString();

}

</script>

這種創(chuàng)建COM的方式只能創(chuàng)建單例??梢栽趩卫幕A(chǔ)上使用工廠方法創(chuàng)建其它對(duì)象,注意如果使用數(shù)據(jù)對(duì)象,數(shù)據(jù)對(duì)象也必須根據(jù)接口傳入?yún)?shù):

interface?IStudent?{

void?SetAge(int?age);

...

}

?

class?StudentImpl?{

public?void?SetAge(int?age) { ... }

...

}

換言之,對(duì)于Javascript而言只能看到COM的接口。如果不想按照COM的約定實(shí)現(xiàn)序列化,也可以借助JSON.NET等工具,直接傳遞JSON/XML字符串。

????

HTA的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
杭锦后旗| 哈巴河县| 景谷| 加查县| 桐柏县| 赫章县| 天镇县| 喀什市| 醴陵市| 竹山县| 崇左市| 唐河县| 绥芬河市| 黔西县| 裕民县| 连南| 宁国市| 淮阳县| 乡城县| 东乡县| 常德市| 新郑市| 武宣县| 松江区| 独山县| 正宁县| 和田县| 梅河口市| 南召县| 精河县| 德化县| 垦利县| 邳州市| 锡林浩特市| 岢岚县| 五华县| 六枝特区| 南宫市| 抚松县| 海盐县| 江阴市|