Come caricare risorse di tipo file (HTML)

[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]

Impara a caricare le risorse di file da varie posizioni.

Puoi accedere alle risorse di file nei file dell'app inseriti nel pacchetto o inclusi come componente o pacchetto framework oppure dai dati dell'app o dal Web. Puoi fare riferimento a questi file nel markup (HTML o XML di notifica) oppure attraverso il codice (Windows.Web.Http o API di storage file). Questi esempi mostrano le risorse di file in contesti specifici, ma la maggior parte di esse può essere usata in molti altri contesti.

Web

Per accedere ai file dal Web, puoi utilizzare un URI HTTP assoluto standard.

<img src="https://www.contoso.com/images/logo.png" alt="Logo" />

Pacchetto dell'app

Per accedere ai file dal pacchetto dell'app, puoi usare un percorso di file diretto o logico per fare riferimento alla risorsa. Questo è vero anche se i file presentano variazioni nel linguaggio, la scala, il contrasto o di altro tipo, come i qualificatori nel nome file. Vedi Guida introduttiva: Uso di risorse di tipo file o immagine per un'introduzione.

Ad esempio, carichi

Images/en-US/homeregion-USA/logo.scale-100_contrast-white.png

facendo riferimento a

Images/logo.png

Per accedere ai file relativi al documento corrente nel markup, puoi usare URI relativi.

<img src="images/logo.png" />

Per accedere a file relativi alla radice del pacchetto, puoi usare URI di percorso assoluto (quelli che iniziano con "/").

<img src="/images/logo.png" />

Per accedere ai file archiviati nello stesso pacchetto, ma da una libreria di classi, usa il nome della libreria di classi:

<img src="/ClassLibraryName/images/logo.png" />

Per accedere ai file archiviati nel pacchetto dell'app, ma da codice che non contiene alcuna radice dedotta dal documento di base, usa lo schema ms-appx:.

var uri = new Windows.Foundation.Uri('ms-appx:///images/logo.png');
Windows.Storage.StorageFile.getFileFromApplicationUriAsync(uri).done(function (file) {
   ...
});

Per accedere ai file archiviati in un pacchetto framework o libreria incluso nell'app, usa un URI assoluto (e lo schema ms-appx:).

<script src="ms-appx:///Bing.Maps.JavaScript//js/veapicore.js"></script>

Per accedere ai file che verranno caricati nel raggruppamento Web, usa lo schema ms-appx-web:.

<iframe src="ms-appx-web:///html/webcompartment.html"></iframe>

Per accedere ai file nello stesso raggruppamento Web o locale del documento corrente, non specificare alcuno schema.

<script src="//Microsoft.WinJS.2.0/js/ui.js"></script>

Dati dell'app

Per accedere ai file archiviati nei dati dell'app, usa lo schema ms-appdata:. I dati dell'app possono essere archiviati in una cartella local, roaming o temp.

Per accedere ai file archiviati nella cartella local:

<img src="ms-appdata:///local/images/logo.png" />

Per accedere ai file archiviati nella cartella roaming:

<img src="ms-appdata:///roaming/images/logo.png" />

Per accedere ai file archiviati nella cartella temp:

<img src="ms-appdata:///temp/images/logo.png" />

storage file APIs può accedere a file all'interno del pacchetto applicazioni allo stesso modo:

var uri = new Windows.Foundation.Uri('ms-appdata:///local/images/logo.png');
Windows.Storage.StorageFile.getFileFromApplicationUriAsync(uri).done(function (file) {
   ...
});

Eventi e modifiche del contesto

La tua app è responsabile dell'aggiornamento della visualizzazione delle relative risorse.

Le app di Windows Store potrebbero essere ancora in esecuzione quando il sistema cambia, ad esempio quando l'utente attiva il contrasto elevato. In questo caso, l'app userà un set diverso di qualificatori. Diverse modifiche di sistema richiameranno eventi sull'oggetto ResourceContext.

In JavaScript, il modo più semplice per ascoltare questi eventi è tramite il metodo addEventListener:

WinJS.Resources.addEventListener('contextchanged', refresh, false);

Gli elementi immagine non vengono aggiornati automaticamente quando il contesto cambia ed è compito dell'applicazione sostituire le immagini. Le media query CSS rappresentano un'alternativa per aggiornare immediatamente proprietà CSS come background-image.

Argomenti correlati

Come caricare le risorse stringa

Schemi URI

Definizione delle risorse delle app

Risorse e localizzazione delle app