Come condividere un collegamento (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 ]

I collegamenti o URI (Uniform Resource Identifier) sono un altro formato di dati comune che gli utenti vogliono condividere. Il motivo più comune per condividere un collegamento è quando il collegamento viene specificamente selezionato da un utente, ma il supporto della condivisione dei collegamenti in un'applicazione è importante anche nei casi seguenti:

  • Quando il contenuto selezionato dall'utente è disponibile anche online.
  • Come origine secondaria quando si condivide HTML.

Cosa sapere

Tecnologie

Prerequisiti

  • Occorre avere già familiarità con Visual Studio e i modelli associati.
  • Occorre avere già familiarità con JavaScript.

Istruzioni

Passaggio 1: Recuperare l'oggetto DataTransferManager

L'oggetto DataTransferManager è il punto di partenza per tutte le operazioni di condivisione.

var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
    dataTransferManager.addEventListener("datarequested", shareAsyncHandler);

Passaggio 2: Aggiungere un gestore eventi per l'evento datarequested

Aggiungi un gestore per l'evento DataRequested da attivare quando l'utente vuole richiamare la condivisione. In un'app di Windows Store questa operazione viene eseguita automaticamente quando l'utente richiama l'accesso alla condivisione. Se stai sviluppando un'app per Windows Phone, non esiste alcun accesso alla condivisione incorporato. Dovrai quindi aggiungere un controllo che l'utente dovrà toccare per attivare il gestore.

dataTransferManager.addEventListener("datarequested", function (e) {
    // Code to handle event goes here.
});

Passaggio 3: Recuperare un oggetto DataRequest

Quando si verifica un evento datarequested, l'app riceve un oggetto DataRequest. Questo oggetto contiene un DataPackage che puoi usare per fornire il contenuto che l'utente vuole condividere.

var request = e.request;

Passaggio 4: Aggiungere il collegamento all'oggetto DataPackage

Per aggiungere il collegamento devi usare il metodo setUri.

request.data.setUri(new Windows.Foundation.Uri("http://www.fabrikam.com"));

Osservazioni

Nel caso di app che condividono un URI del protocollo di attivazione, aggiungi qualche informazione supplementare al DataPackage, oltre all'URI. In tal modo le app di destinazione assicureranno un'esperienza migliore per tutti gli utenti, anche per quelli che usano un sistema operativo diverso.

  • Scegli un titolo e una descrizione adeguati per il contenuto.
  • Includi uno snippet HTML che descriva il contenuto condiviso e abbia un URI incorporato. Ti consigliamo di includere una stringa che metta in risalto il fatto che il link funziona per gli utenti di Windows 8 e, se possibile, fornire un collegamento Web aggiuntivo per gli utenti che usano un sistema operativo diverso.
  • Includi una versione testuale dello snippet HTML.

Alcune app di destinazione potrebbero dichiarare di supportare gli URI anche se, in realtà, possono gestire solo URI http:// o https://. Fornendo formati di dati alternativi, aumenterai le probabilità che l'app di destinazione riesca a completare il tuo scenario.

Esempio completo

Ecco un esempio di una funzione che imposta un collegamento da condividere. Per un esempio più completo, guarda il nostro esempio della Code Gallery.

function registerForShare() {
    var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
    dataTransferManager.addEventListener("datarequested", shareLinkHandler);
}

function shareLinkHandler(e) {
        var request = e.request;
        request.data.properties.title = "Share Link Example";
        request.data.properties.description = "A demonstration that shows how to add a link (URI) to share.";
        request.data.setUri(new Windows.Foundation.Uri("http://www.fabrikam.com"));
}

Argomenti correlati

Esempio di app di origine per la condivisione di contenuto

Condivisione e scambio di dati

Come condividere file

Come condividere contenuti HTML

Come condividere testo

Guida introduttiva: Condivisione di contenuto

DataPackage

Windows.ApplicationModel.DataTransfer

Windows.ApplicationModel.DataTransfer.Share