溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Silverlight中的Downloader對(duì)象有什么用

發(fā)布時(shí)間:2021-12-27 09:17:42 來(lái)源:億速云 閱讀:112 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹Silverlight中的Downloader對(duì)象有什么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

Silverlight中有一個(gè)Downloader對(duì)象,可以用來(lái)下載Silverlight應(yīng)用程序中相應(yīng)的文件,比如腳本、媒體文件等等。有了它就可以根據(jù)應(yīng)用程序的具體需要來(lái)下載相應(yīng)的文件,而不必在Silverlight插件初始化的時(shí)候就將整個(gè)應(yīng)用程序所需要的文件全部下載下來(lái)。這樣不僅可以節(jié)省用戶下載應(yīng)用程序所花費(fèi)的等待時(shí)間,還可以直接在應(yīng)用程序中動(dòng)態(tài)使用下載下來(lái)的內(nèi)容而無(wú)需刷新整個(gè)頁(yè)面。

Downloader對(duì)象能夠初始化數(shù)據(jù)傳輸,監(jiān)視數(shù)據(jù)傳輸?shù)倪M(jìn)程,并能很方便的得到所下載的文件。加載應(yīng)用程序時(shí)的進(jìn)度條的實(shí)現(xiàn)就需要用到Downloader這個(gè)對(duì)象的強(qiáng)大功能。此外,Downloader對(duì)象還可以用來(lái)下載ZIP壓縮包,并可以從所下載的ZIP包中獲取單個(gè)文件。

要使用Downloader對(duì)象,首先要使用Silverlight的CreateObject方法在Silverlight插件中創(chuàng)建一個(gè)Downloader的對(duì)象實(shí)例。Downloader中有以下幾個(gè)常用的方法:

◆ Open方法用來(lái)實(shí)例化Downloader對(duì)象,并用來(lái)指定要下載的內(nèi)容。這個(gè)方法包含兩個(gè)類型為字符串的參數(shù):***個(gè)參數(shù)指定了下載的行為,目前只支持"GET";第二個(gè)參數(shù)是一個(gè)URI,指明了下載的文件。

◆ Send方法用來(lái)執(zhí)行下載的請(qǐng)求。該方法不包含任何參數(shù),并用異步方法下載文件。

由于Downloader對(duì)象用異步方法下載文件,因此對(duì)下載后的文件操作一般都是通過(guò)事件觸發(fā)的方法來(lái)執(zhí)行的。可以使用addEventListener方法為Downloader的對(duì)象實(shí)例添加事件監(jiān)聽(tīng)。addEventListener方法包含兩個(gè)參數(shù):***個(gè)參數(shù)指明了所要偵聽(tīng)的Downloader事件;第二個(gè)參數(shù)指明了事件處理的方法名。Downloader對(duì)象一共有三個(gè)事件:

◆ Completed事件在下載請(qǐng)求完成,并返回下載內(nèi)容的時(shí)候觸發(fā)。

◆ DownloadFailed事件在下載失敗時(shí)返回。

◆ DownloadProgressChanged事件在下載過(guò)程中觸發(fā)。

一個(gè)使用Downloader對(duì)象的例子如下:

function onDemandLoaded(sender, eventArgs)
...{
    //首先得到當(dāng)前Silverlight插件的引用
    var SilverlightPlugin = sender.getHost();

    //創(chuàng)建一個(gè)Downloader對(duì)象
    var downloader = SilverlightPlugin.createObject("downloader");

    //初始化Downloader對(duì)象
    downloader.open("GET", "myPage.xaml");

    //執(zhí)行下載請(qǐng)求
    downloader.send();

    //添加事件偵聽(tīng)
    downloader.addEventListener("downloadProgressChanged", onDownloadProgressChanged);
    downloader.addEventListener("completed", onCompleted);
}

function onDownloadProgressChanged(sender, eventArgs)
...{
    //sender返回的即是已下載的文件對(duì)象
}

function onCompleted(sender, eventArgs)
...{
}

以上是“Silverlight中的Downloader對(duì)象有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI